
ElementUI组件table展开expand子项动态获取数据时,视图不更新
发布日期:2021-05-10 06:30:01
浏览次数:5
分类:技术文章
本文共 1295 字,大约阅读时间需要 4 分钟。
最近碰到一个新的需求,先是需要获取用户组列表(做成表格),表格项可以展开,在展开的时候动态的获取所展开的用户组底下的用户列表。
问题描述
起初,我是把表格数据分开来,即外层用户组列表使用list
数组,内层嵌套的用户列表使用innerList
数组,两者互不干扰。然后监听外层表格的expand-change
事件,在事件回调中配合表格属性expand-row-keys
来控制展开的行(需求是手风琴模式,即一次最多展开一行),同时回调中去动态请求数据,数据返回后对innerList
进行赋值。
对应的data
还有methods
:
一番操作后,发现展开后数据确确实实是拿到了,可是视图却不更新,确切的讲,是不会及时更新,展开后的内嵌表格会渲染上一次拿到的数据,即第一次展开无数据,第二次展开渲染第一次获取的数据,依次类推。
于是我便在事件的最后加上this.$forceUpdate()
强制更新,然而并没有什么卵用。 如何解决?
首先当然还是百度,谷歌了,可是一番查找后,并没有理想的方案,网上给的方案大多用this.$set
去处理,可实际操作起来并没有解决。
this.currentExpandRow
的赋值会触发视图的更新,于是我便在事件的最后用$nextTick
去赋值这个变量,结果是能成功,但是常常会出现拿不到数据(空白)。 怎么办呢?只好返回官网去找答案了。 解决
参照着官网的示例代码,我发现了好像只能在外层的list
内部去内嵌innerList
。
data
所绑定的变量,只要它一改变,那么视图也会相应的更新。 改动后的Demo代码如下: 对应的data
还有methods
:
我将原本的innerList
内嵌到list
中
template
包裹,通过props
传每一行的innerList
作为内嵌表格的data
; 事件回调中去获取当前点击行的currentIndex
,在获取数据的最后通过$set
去做数据的赋值。 这样做就能完美的渲染内嵌表格列表了,后续还能为内嵌表格增加分页功能! 总结
接触了UI库这么久了,感觉有些需要自定义的需求写起来还是有点费脑,不知道是本人代码水平还不够高还是官方文档不够明示,还是得继续学习!
Keep learning…转载地址:https://blog.csdn.net/weixin_43905402/article/details/108324666 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2023年11月24日 01时40分52秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【备忘】MATLAB连接SQL教程
2019-03-28
打开m文件会重新打开matlab的解决方法
2019-03-28
Lanchester方程平方律matlab仿真
2019-03-28
单兵种直瞄武器交战的Lanchester方程
2019-03-28
多兵种直瞄武器交战的Lanchester方程
2019-03-28
最优控制中的变分法
2019-03-28
最优控制中极小值原理及其应用
2019-03-28
一个简单的微分对策问题求解及其Matlab实现
2019-03-28
用PyGame实现贪吃蛇游戏
2019-03-28
单兵种对多兵种作战的微分对策模型
2019-03-28
变量提升与函数提升的优先级
2019-03-28
前端请求后端数据显示404
2019-03-28
关键字final 和static
2019-03-28
Java中方法的定义、传参、重载与递归
2019-03-28
Java中的集合框架(JCF)
2019-03-28
Visual Studio 提示“发生生成错误,是否继续并运行上次的成功生成?”解决办法
2019-03-28
二维数组回形遍历 C++
2019-03-28
护林员盖房子 C++
2019-03-28
数字颠倒简单实现
2019-03-28
一类括号匹配问题 POJ
2019-03-28