elementui tree懒加载刷新问题


在用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);//再次执行懒加载的方法
    ...//下面的代码省略
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM