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 相关文章推荐
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
jQuery链式操作实例分析
Nov 16 Javascript
详解js私有作用域中创建特权方法
Jan 25 Javascript
js简单倒计时实现代码
Apr 30 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
JavaScript正则表达式实例详解
Oct 16 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
PHP新手上路(七)
2006/10/09 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
使用typeof方法判断undefined类型
2014/09/09 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python每隔N秒运行指定函数的方法
2015/03/16 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
jupyter安装小结
2016/03/13 Python
python xml解析实例详解
2016/11/14 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
python实现五子棋小程序
2019/06/18 Python
python实现中文文本分句的例子
2019/07/15 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Pycharm小白级简单使用教程
2020/01/08 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
《孔子游春》教学反思
2014/02/25 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
比赛口号大全
2014/06/10 职场文书
《失物招领》教学反思
2016/02/20 职场文书
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers