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');
    }
相关推荐
摸鱼仙人~11 分钟前
Vue Todo 实战练习教程(简略版)
前端·javascript·vue.js
dzj88812 分钟前
云朵字生成器-html
前端·css·html·云朵字
FlyWIHTSKY18 分钟前
Vue 3 单文件组件加载顺序详解
前端·javascript·vue.js
周万宁.FoBJ19 分钟前
vue源码讲解之 reactive解析(仅proxy部分)
开发语言·javascript·ecmascript
乔磊20 分钟前
我开发了一个 Ralph CLI
javascript
霪霖笙箫24 分钟前
真授之以渔:我是怎么从"想给文章配几张图",一步步做出一个可发布 skill 的
前端·人工智能·开源
yzin27 分钟前
【源码】【react】useCallback、useMemo、memo 原理
前端·react.js
CHU72903527 分钟前
扭蛋机盲盒小程序前端功能设计及核心玩法介绍
前端·小程序
进击的尘埃28 分钟前
Module Federation 2.0 共享策略翻车实录:版本协商、热更新与依赖冲突的排查工具链
javascript