码迷,mamicode.com
首页 > 其他好文 > 详细

vue 中的 全选和 反选

时间:2017-05-05 01:04:07      阅读:421      评论:0      收藏:0      [点我收藏+]

标签:pre   dal   color   return   全选   this   script   苹果   input   

<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>

 

vue 中的 全选和 反选

标签:pre   dal   color   return   全选   this   script   苹果   input   

原文地址:http://www.cnblogs.com/lin-dong/p/6810382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!