vue element ui table load 懒加载页面不渲染问题的别样解决方案
vue elementUI table 懒加载 删除最后一个子数据页面数据还在?解决方案:vue 中使用element ui组件的table组件,根据需求逐级通过事件加载它的子数据,用load函数的回调,可以删除大于1条数据的其他数据,当只有一条子数据,再执行删除,就没有效果了,我用this.$forceUpdate并没有什么用?,.<el-table:data="userData"...
·
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'}">
.......
</el-table
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);
})
对于这个问题,查了很多的资料也没有结果,询问后大家都没有遇到过这个问题,我就这么幸运的遇上了,是真的难受。遇到出现了,但总是要解决的呀!与我抛弃了寻找它自己的方法,换了一种思路。就有了下面的三种方法:
解决方案:
1、localtion.reload()刷新页面,这种方法问题是可以解决的,但给人的体验感不好,会出现瞬间白页的效果,不好,不好,不 好,重要的事说三遍,放弃。
2、this.$router.go(0),与第一种一样。体验感不好,
3、 provide/inject方式进行方法注入,这下完美了,问题解决了,体验感好。perfect。
<template>
<div>
<router-view v-if="Refresh"></router-view>
</div>
</template>
export default {
name: "APP",
provide () {
return {
reload: this.reload
}
},
data () {
return {
Refresh: true
}
},
methods: {
reload () {
this.Refresh= false;
this.$nextTick(function () {
this.Refresh= true
})
}
}
}
在需要刷新的组件方法中调用 this.reload()即可。
总结:问题是解决了,但是为什么会出现这个问题?是iview 组件还是没有找对方法?欢迎大家来喷…
此方法是一次逛博客收获的,虽然不记得是哪位博主了,但还是要感谢下
更多推荐
已为社区贡献3条内容
所有评论(0)