Vue自定义多选组件使用详解


Posted in Javascript onSeptember 08, 2020

本文实例为大家分享了Vue自定义多选组件使用的具体代码,供大家参考,具体内容如下

子组件(选项卡)

checkBoxCard.vue

<template>
 <div class="checkBoxCard">
  <div :class="`box ${check && 'boxCheck'}`" @click="checked(), updateData()">
   {{ name }}
  </div>
 </div>
</template>

<script>
export default {
 name: "checkBoxCard",
 props: {
  name: String,
  checkIndex: {
   type: Number,
   default: null,
  },
 },
 data() {
  return {
   radio: 0,
   check: false,
   radioName: "",
   list: [],
  };
 },
 methods: {
  checked() {
   if (this.radio == 1) {
    this.check = false;
    this.radio = 0;
   } else if (this.radio == 0) {
    this.check = true;
    this.radio = 1;
   }
  },
  updateData() {
   if (this.radio == 1) {
    this.radioName = this.name;
   } else if (this.radio == 0) {
    this.radioName = "";
   }
   this.$emit("updateSurveyData", this.radioName, this.checkIndex);
  },
 },
 mounted() {},
 created() {},
};
</script>

<style lang="scss" scoped>
.checkBoxCard {
 margin-right: 15px;
 display: inline-block;
 margin-top: 10px;
}
.boxCheck {
 color: rgba(183, 37, 37, 1);
 background: bisque;
}
.box {
 border: 0.55px solid #eee;
 padding: 5px 10px;
 font-size: 3.73333vw;
 border-radius: 10px;
}
</style>

父组件

checkBox.vue

<template>
 <div class="checkBox">
  <div class="title">
   选择
  </div>

  <div class="card">  
    <CheckBoxCard
     v-for="item in list"
     :key="item.value"
     :name="item.name"
     :checkIndex="item.value"
     @updateSurveyData="updateSurveyData"
    />
  </div>
 </div>
</template>

<script>
import CheckBoxCard from "./checkBoxCard";
export default {
 name: "checkBox",
 components: {
  CheckBoxCard,
 },
 data: function () {
  return {
   list: [
    { value: 0, name: "选项1" },
    { value: 1, name: "选项2" },
    { value: 2, name: "选项3" },
    { value: 3, name: "选项4" },
    { value: 4, name: "选项5" },
    { value: 5, name: "选项6" },
    { value: 6, name: "其他" },
   ],
   name: "",
    checkList: [],
  };
 },
 methods: {
  updateSurveyData(question, index) {
   this.checkList[index] = question;
    console.log(this.checkList.filter((x) => x != ""));
   console.log(this.checkList.filter((x) => x != "").join());
  },
 },
 created() {},
};
</script>

<style scoped>
.checkBox {
 padding: 5.33333vw 4vw;
 border-bottom: 0.55px solid #eee;
 background: white;
}

.title {
 text-align: left;
 color: #323233;
 font-size: 3.73333vw;
 padding-bottom: 10px;
 line-height: 30px;
}
</style>

效果图

Vue自定义多选组件使用详解

Vue自定义多选组件使用详解

Vue自定义多选组件使用详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery validation插件表单验证的一个例子
Mar 03 Javascript
JS继承 笔记
Jul 13 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
Jquery实现纵向横向菜单
Jan 24 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
JavaScript数组去重的两种方法推荐
Apr 05 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
Vue.js如何实现路由懒加载浅析
Aug 14 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
vue项目中微信登录的实现操作
Sep 08 #Javascript
关于element-ui表单中限制输入纯数字的解决方式
Sep 08 #Javascript
快速解决element的autofocus失效问题
Sep 08 #Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 #Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 #Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 #Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 #Javascript
You might like
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
初始Nodejs
2014/11/08 NodeJs
JS获取时间的方法
2015/01/21 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
详解如何理解vue的key属性
2019/04/14 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
python 实现dict转json并保存文件
2019/12/05 Python
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014年外联部工作总结
2014/11/17 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
go 实现简易端口扫描的示例
2021/05/22 Golang
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技