<el-tree
class="vpTitleTree"
:data="data"
:props="props"
show-checkbox
node-key="yhid"
:default-expanded-keys="index"
@check-change="checkChange"
>
</el-tree>
callersChange(checkedNodes, isChange) {
// console.log("1------>", checkedNodes, isChange);
},
checkChange(data, isSelect) {
let arr = this.form.cdidList;
if (isSelect) {
arr.push(data.id);
console.log("添加的数组", arr);
} else {
let i = arr.findIndex(x => {
return x == data.id;
});
arr.splice(i, 1);
console.log(arr, "---");
}
this.form.cdidList = arr;
// console.log("2------>", data, isSelect);
}
第二种:直接获取,没有判断是 添加还是 删除
<el-tree
:data="data"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
handleNodeClick(data) {
console.log(data);
}
第三种利用 ref
_this.formline.addcheckval = _this.$refs.tree.getCheckedKeys()
// 获取到最后的元素的值
$refs.tree.getCheckedNodes() // 获取元素 row 的所有值
console.log(checkedKeys.checkedKeys, "将所有打印出来的id,拼成一个数组,好用");
<el-tree
:data="roledata"
show-checkbox
node-key="code"
ref="tree"
highlight-current
@check="treeChange"
:props="{
children: 'childen',
label: 'value',
}"
>
</el-tree>
// tree 的 change 事件
treeChange(checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys) {
console.log(checkedKeys.checkedKeys, "将所有打印出来的id,拼成一个数组,好用");
let qhbmName = new Array();
// 点击了全部
if (this.$refs.tree.getCheckedNodes().length > 2) {
this.$refs.tree.setCheckedKeys([]);
this.$message.error("最多可选择一个");
return;
}
// 设置单选
this.$refs.tree.setCheckedKeys([]);
let pitchOn = checkedNodes.code.split(",");
this.$refs.tree.setCheckedKeys(pitchOn);
// 数据处理
this.$refs.tree.getCheckedNodes().forEach((item) => {
qhbmName.push(item.value);
});
this.formInline.qhbmCode = this.$refs.tree.getCheckedKeys().join(",");
this.formInline.qhbmName = qhbmName.join(",");
},