Vue+Element中Table树形数据懒加载删除后数据动态更新

今天在做项目时遇到了一个问题,那就是table树形数据,展开后懒加载的子节点,当我删除节点时,树形结构却不能及时的更新。网上找了一个很好用的方法,非常感谢作者,原文如下:Vue+Element中Table懒加载删除后数据动态更新

image.png

解决方法1:刷新页面

有两种刷新页面的方法:

  1. 用vue-router重新路由到当前页面,页面是不进行刷新的,但在网络不好的情况,会造成短暂的白屏。
  2. 采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好。
解决方法2
  1. data中添加定义
maps: new Map()
  1. methods中的load方法
        load(tree, treeNode, resolve) {
            const pid = tree.id
            this.maps.set(pid,{ tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
            this.$http.get(`/knowledgeBase/getListByPid/${pid}`).then( res => {
                if (res.data.code != 200) {
                    return this.$message.error(res.data.msg);
                }
                let menuList = res.data.data
                resolve(menuList)
            })
        },
  1. 删除方法
        // 删除
        deleteKnowledge(arr,row){
            this.$http.delete('/knowledgeBase',{
                data:arr
            }).then(res => {
                if (res.data.code != 200) {
                    return this.$message.error(res.data.msg);
                }
                this.$message.success('删除成功')
                this.getKonwledgeBaseList()  // 重新获取table表格
                const {pid} = row  //取出当前删除行的pid
                const { tree, treeNode, resolve } = this.maps.get(pid) //根据pid取出对应的节点数据
                this.$set(this.$refs.table.store.states.lazyTreeNodeMap, pid, []); //将对应节点下的数据清空,从而实现数据的重新加载
                this.load( tree, treeNode, resolve )
            })
        },
通过这种方法,的确有效
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 4,933评论 0 1
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    随行者pgl阅读 8,771评论 0 15
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    小姜先森o0O阅读 13,343评论 0 72
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    流觞小菜鸟阅读 5,881评论 2 8
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    柴东啊阅读 15,933评论 2 140

友情链接更多精彩内容