问题:
在更新上级的时候没有问题,但是在更新子级表格数据没有更新!
方案:
把加载的子节点信息存起来,更新的时候重新拉取字节点数据!
let nodeMap = ref<Map<string, any>>(new Map());完整代码
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'); }