vue购物车全选同步单选逻辑处理


一 单选同步多选

 (1)单选添加一个点击事件,然后动态绑定checked

 如下:

  <input type="checkbox" v-on:click="checkedtoAll(item)" :checked="item.checked" />

  (2)在methods中,单选的状态取反,然后循环遍历购物车数组中的商品,如果每一个商品的选中状态都为true的话,则绑定的全选框的状态使与单选状态一样,即实现了单选同步多选

    多选框状态:

<input type="checkbox" v-model="allChecked" v-on:click="alltoChecked" />全选

  状态:

export default {
  data() {
    return {
      cartItem: [],
      allChecked: false
    };
  },

methods中逻辑处理:

  checkedtoAll(item) {
      item.checked = !item.checked;
      var checkedALL = this.cartItem.every(e => {
        return e.checked === true;
      });
      this.allChecked = checkedALL;
    }

二 多选同步单选

逻辑不同于单选,将多选状态取反,然后循环遍历购物车中的商品,使购物车中的每个商品的选中状态都与多选的选中状态相同

逻辑如下

 

 alltoChecked() {
      this.allChecked = !this.allChecked;
      //  window.console.log(this.allChecked)
      this.cartItem.forEach(e => {
        e.checked = this.allChecked;
      });
    },

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM