问题:
在更新上级的时候没有问题,但是在更新子级表格数据没有更新!
方案:
把加载的子节点信息存起来,更新的时候重新拉取字节点数据!
javascript
let nodeMap = ref<Map<string, any>>(new Map());
完整代码
javascript
let tableInfo = ref<TableInfo<any>>({
data: [],
total: 0
});
let nodeMap = ref<Map<string, any>>(new Map());
const lazyLoadTreed = async (row : any, treeNode : any, resolve : (data: Zone[]) => void) => {
if(!treeNode) {
let res = await lazyLoadTree(query.value);
if(res.code == 200) {
tableInfo.value.data = res.data;
}
}else {
let res = await lazyLoadTree({
keyWord: '',
page: true,
keyId: row.id
});
if(res.code == 200) {
nodeMap.value.set(row.id, { row , treeNode , resolve });
resolve(res.data);
} else {
resolve([] as Zone[]);
}
}
}
async function refreshNode(parentId : string) {
const nodeInfo = nodeMap.value.get(parentId);
if (nodeInfo) {
const { row, treeNode , resolve } = nodeInfo;
lazyLoadTreed(row , treeNode, resolve);
}
}
function update() {
// 调用
refreshNode('你的父级id');
}