如图所示.当他是根节点的时候不显示下拉框小三角?
你看官网的 树形控件懒加载
由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,则点击后下拉按钮会消失。同时,你也可以提前告知 Tree 某个节点是否为叶子节点,从而避免在叶子节点前渲染下拉按钮。
在加载方法里resolve()
是必须调用的,不然就会一直有loading转圈
如果能直接知道是不是根节点的话就在根结点加一个leaf: true
就不会出现下拉按钮
loadNode(node, resolve) {
if (node.level === 0) {
return resolve([{ name: '最外层' }])
}
// 你的异步方法
let response = ajax(.....)
response.then(res => {
// 根据返回值封装data
let data = []
// data = res
// 如果已经第三层以上就是根结点
if (node.level > 3) {
data.forEach(item => {
item.leaf = true
})
}
resolve(data)
})
}
如果需要再次点击加载才能知道是不是根结点的话,那就加载方法里判断当前点击的是不是根结点,是的话调用return resolve([])
返回一个空数组,下拉按钮就会消失
loadNode(node, resolve) {
if (node.level === 0) {
return resolve([{ name: '最外层' }])
}
// 你的异步方法
let response = ajax(.....)
response.then(res => {
// 判断是根结点
if (res.leaf) return resolve([])
// 根据返回值封装data
let data = []
// data = res
resolve(data)
})
}
13 回答12.7k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答809 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
props有这个isLeaf参数,设置isLeaf为true就好了