<div>  
<el-tree
      ref="tree"
      :props="defaultProps"
      node-key="id"
      :data="data"
      show-checkbox
      check-strictly
      :default-expand-all="disabled"
     @check-change="handleCheckChange"
      @check="checkGroupNode"
    />
</div>
<script>
    export default {
       data() {
        return {
           data: [{
            id: 1,
            label: '一级 1',
            children: [{
              id: 4,
              label: '二级 1-1',
              children: [{
                id: 9,
                label: '三级 1-1-1'
              }, {
                id: 10,
                label: '三级 1-1-2'
              }]
            }]
          }, {
            id: 2,
            label: '一级 2',
            children: [{
              id: 5,
              label: '二级 2-1'
            }, {
              id: 6,
              label: '二级 2-2'
            }]
          }, {
            id: 3,
            label: '一级 3',
            children: [{
              id: 7,
              label: '二级 3-1'
            }, {
              id: 8,
              label: '二级 3-2'
            }]
         }],
            checkdata: [],
            defaultProps: {
              children: 'children',
              label: 'name'
        }
      }
    },
        deleteOid(a) {
          for (let i = this.checkdata.length - 1; i > -1; i--) {
            if (this.checkdata[i] === a) {
              this.checkdata.splice(i, 1)
        }
      }
    },
        checkGroupNode(a, b) {
          if (b.checkedKeys.length < this.checkdata.length) {
            this.deleteOid(a.id)
      }
    },
        handleCheckChange(data, checked, indeterminate) {
          if (checked) {
            this.checkdata.push(data.id)
      }
    },
}
</script>        

 

posted on 2020-08-28 15:02  小名香菜~  阅读(2218)  评论(0编辑  收藏  举报