ElementUI表格懒加载子级更新数据刷新不生效问题

问题:

在更新上级的时候没有问题,但是在更新子级表格数据没有更新!

方案:

把加载的子节点信息存起来,更新的时候重新拉取字节点数据!

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');
    }
相关推荐
掘金安东尼7 小时前
纯 CSS 实现弹性文字效果
前端·css
牛奶7 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶7 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion8 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er8 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart9 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星9 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_10 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路10 小时前
ArcPy 开发环境搭建
前端
林小帅11 小时前
【笔记】OpenClaw 架构浅析
前端·agent