您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

vue实现全选功能

51自学网 2022-02-21 13:38:50
  javascript

本文实例为大家分享了vue实现全选功能的具体代码,供大家参考,具体内容如下

全选思路

1、准备标签,样式,js,准备数据

2、将数据循环展示在页面上, 在li 里v-for

3、在全选框 v-model = "isAll" //总的状态

4、小选框 v-model = "" //单个的状态

5、小选影响全选 ... 定义计算属性 isAll 统计小选框的状态, every查找数组里不符合条件的,直接返回false ...判断每一个小选框的状态, 只要有一个小选框的状态不为true 就是没有被勾上, 那就返回false , 全选框的状态就是false

6、全选影响小选... set(val) 设置全选的状态(true/false)...然后就遍历每个小选框看小选框的状态,让它的状态改为val全选的状态

<template>  <div>    <span>全选:</span>    <input type="checkbox" v-model="isAll" />    <button @click="btn">反选</button>    <ul>      <li v-for="(obj, index) in arr" :key="index">        <input type="checkbox" v-model="obj.c" />        <span>{{ obj.name }}</span>      </li>    </ul>  </div></template> <script>export default {  data() {    return {      arr: [        {          name: "猪八戒",          c: false,        },        {          name: "孙悟空",          c: false,        },        {          name: "唐僧",          c: false,        },        {          name: "白龙马",          c: false,        },      ],    };  },  computed: {    isAll: {      //全选影响小选      set(val) {        //set(val) 设置全选的状态(true/ false)        //我们手动设置了全选框的状态,就遍历数组里的每个对象的c属性, 也就是遍历看每个小选框的状态,让它的状态改为 val 全选框的状态        this.arr.forEach((obj) => (obj.c = val));      },      //小选框影响全选框      get() {        //判断数组里的每一个对象的c属性 它是不是等于true, 就是判断每一个小选框的状态, 只要有一个小选框的状态不为true 就是没有被勾上, 那就返回false , 全选框的状态就是false        // every口诀: 查找数组里"不符合"条件, 直接原地返回false        return this.arr.every((obj) => obj.c === true);      },    },  },  methods: {    btn() {      //实现反选      //遍历数组里的每一项,  让数组里对象的c属性取反再赋值回去      this.arr.forEach((obj) => (obj.c = !obj.c));    },  },};</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持51zixue.net。


下载地址:
分享一个基于Ace的Markdown编辑器
JavaScript仿京东放大镜特效
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。