在线等!vue elementUI table 懒加载 删除最后一个子数据页面数据还在?求指导!

vueelementUItable懒加载删除最后一个子数据页面数据还在?
vue中使用elementui组件的table组件,根据需求逐级通过事件加载它的子数据,用load函数的回调,可以删除大于1条数据的其他数据,当只有一条子数据,再执行删除,就没有效果了,我用this.$forceUpdate并没有什么用?,
相关代码
: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];
letv=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){
letv=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);
})
有没有同仁遇到过这个情况,请帮忙提点一二?
慕仙森
浏览 461回答 2
2回答

慕雪6442864

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

RISEBY

这里的问题和treenode一样,原因就出在节点下面的数据加载过一次后,数据就不会再次触发load事件,所以下面的数据也就不会刷新
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript