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 相关文章推荐
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
Jul 01 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
JQuery ZTree使用方法详解
Jan 07 Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
微信小程序 跳转传递数据的实例
Jul 06 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
php二维数组排序详解
2013/11/06 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
详解Python中的Cookie模块使用
2015/07/06 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
函授本科自我鉴定
2013/11/03 职场文书
班组长的岗位职责
2013/12/09 职场文书
初中地理教学反思
2014/01/11 职场文书
机关节能减排实施方案
2014/03/17 职场文书
爱心捐款倡议书
2014/04/14 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
我的中国心演讲稿
2014/09/04 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
公司职员入党自传书
2015/06/26 职场文书
python blinker 信号库
2022/05/04 Python