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 对象的创建与使用
Mar 09 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
JavaScript全排列的六种算法 具体实现
Jun 29 Javascript
JavaScript 语言基础知识点总结(思维导图)
Nov 10 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
jQuery EasyUI中DataGird动态生成列的方法
Apr 05 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
vue中轮训器的使用
Jan 27 Javascript
Vue和React组件之间的传值方式详解
Jan 31 Javascript
jquery多级树形下拉菜单的实例代码
Jul 09 jQuery
JavaScript实现贪吃蛇游戏
Jun 16 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
微信支付开发告警通知实例
2016/07/12 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python脚本内运行linux命令的方法
2015/07/02 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
python实现简单图片物体标注工具
2019/03/18 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
安装python及pycharm的教程图解
2019/10/10 Python
学生请假条格式
2014/04/11 职场文书
工作年限证明模板
2014/11/01 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
Go语言测试库testify使用学习
2022/07/23 Golang
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技