el-table slot="header"修改值不会重新渲染

Demo如下:

codepen demo

使用$set修改v-for循环出来的列,想动态修改表头名,使用了官方的slot=header,不会重新渲染,使用forceUpdate也无法强制渲染;

使用v-if条件渲染可以实现删除之后重新渲染出来,但是肯定不不对。

请问是什么原因?

阅读 5.8k
1 个回答

你用索引做key 数据变更dom进行diff的时候因为key跟上次一致所以就继续沿用原来的dom了,官网明确写着:
有相同父元素的子元素必须有独特的 key。重复的 key 会造成渲染错误。

简单把:key="i" 改成:key="c.name" 就能触发更新了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题