vue elementUI table 懒加载 删除最后一个子数据页面数据还在?

新手上路,请多包涵

vue elementUI table 懒加载 删除最后一个子数据页面数据还在?

vue 中使用element ui组件的table组件,根据需求逐级通过事件加载它的子数据,用load函数的回调,可以删除大于1条数据的其他数据,当只有一条子数据,再执行删除,就没有效果了,我用this.$forceUpdate并没有什么用?,

相关代码

<el-table
:data="userData"
style="width: 100%;text-align: center"
row-key="id"
border
:indent="30"
lazy
@current-change="expandChange"
:load="getChildrenData"
:tree-props="{children: 'children', hasChildren: 'children'}">


getChildrenData(tree, treeNode, resolve){
    this.paramNodes=[tree, treeNode, resolve];
    let v = this;
    v.$http.get(this.API.permissionData,{params:{
            parentId:tree.id
        }})
        .then((resp)=>{
            console.log(resp.body.data);
            if(resp.body.code=='000000'){
                if(resp.body.data){
                    resolve(resp.body.data)
                }else {
                    v.$Message.error(resp.body.info);
                }
            }else {
                v.$Message.error(resp.body.info);
            }
        })
        .catch(function(err) {
            v.$Message.error(err.body.info)
        });
                
  remove (id) {
    let v=this;
    v.$http.delete(`${this.API.getPermissionData}/${id}/v1.0`).then((res)=>{
        if(res.body.code=='000000'){
            v.getChildrenData(...this.paramNodes);
            v.initData();
            this.$Message.success('删除成功!')
        }else {
            v.$Message.error( res.body.info);
        }
    }).catch((err)=>{
        v.$Message.error(err.body.info);
    })
       

有没有同仁遇到过这个情况,请帮忙提点一二?

阅读 4.6k
2 个回答
新手上路,请多包涵

对于这个问题,查了很多的资料也没有结果,询问后大家都没有遇到过这个问题,我就这么幸运的遇上了,是真的难受。遇到出现了,但总是要解决的呀!与我抛弃了寻找它自己的方法,换了一种思路。就有了下面的三种方法:
1、localtion.reload()刷新页面,这种方法问题是可以解决的,但给人的体验感不好,会出现瞬间白页的效果,不好,不好,不好,重要的事说三遍,放弃。
2、this.$router.go(0),与第一种一样。体验感不好,
3、 provide/inject方式进行方法注入,这下完美了,问题解决了,体验感好。perfect。

总结:问题是解决了,但是为什么会出现这个问题?是iview 组件还是没有找对方法?欢迎大家来喷...

新手上路,请多包涵

这里的问题和treenode一样,原因就出在节点下面的数据加载过一次后,数据就不会再次触发load事件,所以下面的数据也就不会刷新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题