在用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);//再次執行懶加載的方法 ...//下面的代碼省略 }