// 给树设置某个节点禁用
addAttr(data, id) {
data.forEach(item => {
if (item.adCode == id) {
this.addAttrChildrens(item);
} else {
if (item.childAddress && item.childAddress != null && item.childAddress.length !== 0) {
this.addAttr(item.childAddress, id);
}
}
});
},
// 父节点禁止点击,它的后代子节点所有都禁止点击
addAttrChildrens(node) {
node.disabled = true;
if (node.childAddress != null) {
node.childAddress.forEach(ele => {
ele.disabled = true;
this.addAttrChildrens(ele);
});
}
},
// 多选框选中数据
handleCitysChange(selection) {
this.cityIds = selection.map(item => item.adCode)
this.multiple = !selection.length
},
// 选城市如果选中所有子集只显示父级
getSimpleCheckedNodes(store) {
const checkedNodes = [];
const traverse = function (node) {
const childNodes = node.root ? node.root.childNodes : node.childNodes;
childNodes.forEach(child => {
if (child.checked) {
checkedNodes.push(child.data);
}
if (child.indeterminate) {
traverse(child);
}
});
};
traverse(store)
return checkedNodes;
},
项目中的一些知识点记录一下,便于下次遇到查看