el-table-tree 更新数据被缓存,重新加载不能更新lo
2020-11-19 本文已影响0人
与你何干_1bc9
效果:
更新前
修改数据后
具体实现方法:
// data data里面添加映射
data() {
return {
maps: new Map()
}
},
// methods table-tree懒加载
async load(tree, treeNode, resolve) {
this.maps.set(tree.id, { tree, treeNode, resolve })
let list = await this.getDetailsData(tree.type, tree.id)
resolve(list)
},
// methods search 查询
search() {
this.init()
const { tree, treeNode, resolve } = this.maps.get(this.row.id)
this.load(tree, treeNode, resolve)
},
补充:
有的时候发现数据重新请求了但是页面没有更新,那是因为他组件里有缓存数据
this.$set(this.$refs.table.store.states.lazyTreeNodeMap, row-key, []); // 重置一下缓存