ant design vue 使用树形控件(tree)点击节点expand判断的方法
当你想使用这个组件的时候,但是你点击一级树的时候调用一个接口,点击二级树的时候在调用另一个接口,那你就需要在点击一级节点的时候不用调用二级节点。那需要怎么做的,说一下我的思路,如果大家有别的更简单的方法,欢迎评论留言呐。因为人家组件自带的方法expand有自带的参数,有一个node,node是一个对象,对象里面有一个pos的字符串,我就是判断的那个,用正则表达式匹配如果是0-0~0-9999的时候
·
当你想使用这个组件的时候,但是你点击一级树的时候调用一个接口,点击二级树的时候在调用另一个接口,那你就需要在点击一级节点的时候不用调用二级节点。那需要怎么做的,说一下我的思路,如果大家有别的更简单的方法,欢迎评论留言呐。
因为人家组件自带的方法expand有自带的参数,有一个node,node是一个对象,对象里面有一个pos的字符串,我就是判断的那个,用正则表达式匹配如果是0-0~0-9999的时候调用一级节点,如果是0-0-0的时候调用二级。
let reg = /^0-[0-99999]+$/; // 匹配的是0-0~0-9999
let isTrue = reg.test(node.pos); // 返回的是true或者false
onExpand(expandedKeys,{expanded: bool, node}) {
// 判断isTrue
expandedKeys.forEach((keyItem,keyIndex) => {
if (isTrue) {
// 这儿的判断是因为我点击的时候回重复push到里面title和key
if (keyItem === node.eventKey) {
// 写自己的逻辑代码 调用一级接口(一级节点)
// push需要的对象 判断node.eventKey和节点key的值是否相等,相等的话再把数据添加到节点的children
}
} else {
// 写自己的逻辑代码 调用二级接口(二级节点)
}
}
};
当你想自己添加一个全选按钮节点的时候
this.xmArr = [{
checkable: true,
title: '全选',
children:[]
}]
res.result.forEach((xmItem,xmIndex) => {//6
// 因为这个全选就一个,你需要的是底下的children里面的数据所以[0]就可以xmArr[0].children
this.xmArr[0].children.push({
title: xmItem.jcdmc,
key: xmItem.id,
})
})
更多推荐
已为社区贡献15条内容
所有评论(0)