#关于Vue+Element中Table懒加载删除后数据动态更新问题的解决
2019-07-03 17:12
5167 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42487738/article/details/94576296
因为功能需求需要将Table数据呈树形展示,从而使用了懒加载的形式加载数据,从而实现多级的实现。但在删除一级以上数据时不能够进行及时的数据更新,没有具体的方法清空Tabel数据重新进行加载,其中有两种刷新页面的方法:
- 用vue-router重新路由到当前页面,页面是不进行刷新的,但在网络不好的情况,会造成短暂的白屏。
- 采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好。
以上这两种方案都有所弊端,但最后研究源码发现其更新数据的方法:
data中添加定义
maps: new Map(),
methods中的load方法
load(tree, treeNode, resolve) { const pid = tree.id; this.maps.set(pid, { tree, treeNode, resolve }); //将当前选中节点数据存储到maps中 getGoodsTypeByPid(pid).then(res => { const nodes = res.data.map(v => { return { ...v, hasChildren: v.level <= 2 };//树形数据分为三级,展开行按钮显示到第二级 }); resolve(nodes); }); },
methods中的删除方法
handleDelete(index, row) { this.$confirm("是否要删除该品牌", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }).then(() => { deleteProductCate(row.id).then(response => { this.$message({ message: "删除成功", type: "success", duration: 500 }); this.search()//重新查询一级数据 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); }); }); }
相关文章推荐
- 关于Vue动态路由参数变化,页面数据不更新问题?
- vue + element 下拉框 选项绑定数据列表List,List动态变化后,下拉框下拉后数据不变化问题解决
- iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见
- 关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题
- 工作问题 解决关于hibernate 更新数据的问题
- 关于ViewGroup 中listview 和GridView数据不能动态更新的解决
- 动态的把数据显示在table中,点击某一行的删除按钮实现该行的删除(通过ajax实现页面的无刷新加载)
- 关于CListCtrl控件更新Item的闪烁问题和一次插入大容量数据的显示问题解决办法
- adapter动态更新数据后滑动出现数据错乱问题解决方案
- 关于vue v-for循环解决img标签的src动态绑定问题
- element-ui表格使用前台排序,当table部分数据为空null时,解决排序不起作用、排序错乱和排序不整齐的问题
- vue elementUI table表格数据 滚动懒加载的实现方法
- 关于NGUI的动态加载后的刷新显示问题,解决办法!!
- EasyUI的treegrid组件动态加载数据问题的解决办法
- 关于前台合并获取后台动态table中数据相同的单元格的问题;th td合并
- 关于viewpager动态删除fragment更新的问题
- 关于iOS11上MJRefresh tabview刷新后,重新加载另一组数据, 回不到顶部或者头尾显示混乱等问题解决
- 解决chosen-select动态加载数据不生效的问题
- 关于在vue中 使用lazyload插件 数据更新图片不改变的问题
- 关于extjs中的tabpanel的刷新等若干问题,解决tabpanel内页面刷新,更新数据等问题。