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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
Javascript中的window.event.keyCode使用介绍
Apr 26 Javascript
限制上传文件大小和格式的jQuery插件实例
Jan 24 Javascript
AngularJS 如何在控制台进行错误调试
Jun 07 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
微信小程序 checkbox使用实例解析
Sep 09 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
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不用正则采集速度探究总结
2008/03/24 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php实现上传图片文件代码
2015/07/19 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
js 操作符汇总
2014/11/08 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
python任务调度实例分析
2015/05/19 Python
python基于ID3思想的决策树
2018/01/03 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
如何开发一个JQuery插件
2016/07/28 面试题
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
教师工作表现评语
2014/12/31 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
同学聚会通知书
2015/04/20 职场文书
涨价通知
2015/04/23 职场文书
婚宴主持词
2015/06/30 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript