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