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');
    }
相关推荐
掘金酱1 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel1 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
IT_陈寒2 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
_菜鸟果果3 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
时间的情敌3 小时前
《回顾 2018 前端:Vue2 成熟期,Webpack4 发布,PWA 大火》
前端
Java后端的Ai之路4 小时前
前端技术Vue-09-webpack-vuejs-实战
前端·vue.js·webpack
LMT流氓兔4 小时前
第五单元——第4课:给工具参数加校验
java·前端·算法·ai·langchain
涛涛ing4 小时前
React Compiler正式“Rust化”:你项目里的Babel插件,正在被编译进打包器
前端
迷途小羔羊4 小时前
项目概述
java·javascript·后端