zoukankan      html  css  js  c++  java
  • vue中复选框全选与反选

      html主要部分: 

    <template v-for="(item, index) in checkboxList">
      <input type="checkbox" v-model="selectList" :value="item">
    </template>

      初始化selectList = [],checkboxList = ['苹果', '橡胶', '梨', '桃子']。

      首先说全选事件,这个比较好弄。就是每次触发事件的时候先清空selectList,然后将checkboxList的值赋值给selectList就行了。

      

      反选事件。所谓反选就是先判断如果有选中的则将其状态变为未选中,未选中则将其状态变为选中。

      今天偶然发现一个很好用的方法,就是借鉴两个数组,判断是否有相同元素,然后去重这种思路来解决反选问题。

    const _this = this
    let checkboxList = _this.checkboxList  let selectList = _this.selectList let tempArr1 = [] let tempArr2 = [] if (!_this.selectList.length) { _this.selectList = _this.checkboxList  } else { for (let i = 0, len = selectList.length; i < len; i ++) { tempArr1[selectList[i]] = true //将数selectList中的元素值作为tempArr1中的键,值为true
    } for(var j=0, lenj = checkboxList.length;j < lenj;j++){ if(!tempArr1[checkboxList[j]]){ tempArr2.push(checkboxList[j]); // 过滤checkboxList与selectList中相同的元素 } } _this.selectList = tempArr2 }

      

  • 相关阅读:
    Web测试与App测试的区别
    unittest参数化
    算法-python
    冒泡排序算法-python
    mysql基础知识
    Web自动化-浏览器驱动chromedriver安装方法
    Selenium-三种等待方式
    C++中进制转换问题
    C++11新特性,对象移动,右值引用,移动构造函数
    C++ 拷贝控制和资源管理,智能指针的简单实现
  • 原文地址:https://www.cnblogs.com/jf-67/p/10315865.html
Copyright © 2011-2022 走看看