在用elementUi el-tree懒加载的时候,发现只加载一次,即使数据刷新了,但是tree就是不刷新。
解决思路
将el-tree的resolve和值保存起来,然后在调用的时候将值初始化,也就是一个空数组就行了。
直接复制粘贴:
data{ return{
node_had:'',
resolve_had :''
...
}
}
//首先是保持根节点 loadNode(node, resolve) { // if (node.level === 0) { this.node_had = node;//这里是关键!在data里面定义一个变量,将node.level == 0的node存起来 this.resolve_had = resolve;//同上,把node.level == 0的resolve也存起来 request.post("/gljs/queryjs").then(res => { if (res.errorCode === 0) { return resolve( res.data); } }); } else { request.post("/gljs/querygnsbyjs").then(res => { if (res.errorCode === 0) { resolve(res.data); } }); } }
//当请求新数据时,两行代码就可以了。 requestNewData() { this.node_had.childNodes = [];//把存起来的node的子节点清空,不然会界面会出现重复树! this.loadNode(this.node_had, this.resolve_had);//再次执行懒加载的方法 ...//下面的代码省略 }