zoukankan      html  css  js  c++  java
  • vue 中的 全选和 反选

    <template>
        <div>
          <input type='checkbox' class='input-checkbox' v-model='checked' v-on:click='checkedAll'>全选
          <template v-for='checkb in checkboxData'>
             <input type='checkbox' name='checkboxinput' class='input-checkbox' v-model='checkboxModel' :value='checkb.id'>{{checkb.value}}
          </template>
        </div>
    </template>
    <script>
    export default {
    methods:{
      checkedAll: function() {
        var _this = this;
        console.log(_this.checkboxModel);
        if (!this.checked) {//实现反选
          _this.checkboxModel = [];
        }else{//实现全选
          _this.checkboxModel = [];
          _this.checkboxData.forEach(function(item) {
            _this.checkboxModel.push(item.id);
          });
        }
      }
    },
    watch: {//深度 watcher
      'checkboxModel': {
        handler: function (val, oldVal) { 
          if (this.checkboxModel.length === this.checkboxData.length) {
            this.checked=true;
          }else{
            this.checked=false;
          }
        },
        deep: true
      }
    },
    data () {
      return {
        checkboxData:[{
          id:'1',
          value:'苹果'
        },{
          id:'2',
          value:'荔枝'
        },{
          id:'3',
          value:'香蕉'
        },{
          id:'4',
          value:'火龙果'
        }],
        checkboxModel:['1','3','4'],
        checked:""
      }
    }
    }
    </script>
  • 相关阅读:
    第一次作业
    C语言I博客作业04
    C语言I博客作业05
    c语言l博客作业02
    C语言I博客作业06
    linux下递归删除目录下所有exe文件
    CSS高级
    CSS样式
    CSS框模型
    Oracle的用户、角色和权限
  • 原文地址:https://www.cnblogs.com/lin-dong/p/6810382.html
Copyright © 2011-2022 走看看