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 相关文章推荐
默认让页面的第一个控件选中的javascript代码
Dec 26 Javascript
js下获取div中的数据的原理分析
Apr 07 Javascript
javascript数字数组去重复项的实现代码
Dec 30 Javascript
Javascript表格翻页效果实现思路及代码
Aug 23 Javascript
JS操作Cookies的小例子
Oct 15 Javascript
jQuery的position()方法详解
Jul 19 Javascript
jQuery实现滚动切换的tab选项卡效果代码
Aug 26 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
May 10 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
javascript删除数组元素的七个方法示例
Sep 09 Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 jQuery
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
PHP和XSS跨站攻击的防范
2007/04/17 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
详解JS模块导入导出
2017/12/20 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Python地图绘制实操详解
2019/03/04 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
电大学习个人自我评价范文
2013/10/04 职场文书
模范教师事迹材料
2014/02/10 职场文书
卖房授权委托书样本
2014/10/05 职场文书
外贸英文求职信范文
2015/03/19 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
企业愿景口号
2015/12/25 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript