老师这里为啥不把tableData置为空,table不刷新呢?

来源:9-10 方案落地:完成拖拽后的排序

前端小把戏

2021-12-14

图片描述

写回答

2回答

OrcXiao

2023-02-10

如果不设置 tableData = []。
仔细观察之后可以发现 table 并不是没有刷新,只是排名没有刷新。
因为页面通过排序改变顺序之后,tableData 源数据顺序的并没有改变。vue是通过对比新旧源数据diff来更新渲染的。element-plus默认使用index作为:key。所以key的值永远不会改变。diff算法对比更新时,key值不变,vue不会更新组件,只会替换组件的属性值。
设置 row-key = "_id" 便可解决此 bug 。

1
0

Sunday

2021-12-14

你好

这个应该是 element-plus 的问题,它无法处理这种问题。所以我们需要手动的激活它的处理选项(响应式功能)

0
2
Sunday
回复
qq_Simpleisbeau_0
有可能类似于 node_Key 的机制
2022-04-13
共2条回复

基于Vue3新标准,打造后台综合解决方案

基于Vue3重写Vue-element-admin,打造后台前端综合解决方案

1941 学习 · 1687 问题

查看课程