:consttableTitle1=[{label:"stock",prop:"stock"},{label:"proportion",prop:"weight"},{label:"股权变动",prop:"变动"},{label:"最新价格",prop:"lastPrice"}]consttableTitle2=[{label:"股票",prop:"股票"},{label:"Proportion",prop:"weight"},{label:"持股变动",prop:"change"}]从tableTitle1->tableTitle2变化时,表现正常。(表头四列改成三列,tbody中四列数据改成三列。)tableTitle2->table1Title1变化时,性能异常。(表头还是三列,tbody数据三列变成四列)找类似原因分析:Case1CSDN上其他同学遇到表头不更新的问题。原因是表头是v-for循环生成的,每个item(el-table-colum)绑定的key是prop。更新数据时,key没有变化,所以el-table认为表头数据没有变化,所以只更新了整体表数据。键值发生变化的列的标题。我这里遇到的情况,从4个header数据改成3个view,从3个改成4个view是改不回来的,所以大概率不是这个问题。使用vuedevtools查看el-table的内容,发现当数字从3变成4时,也是4,而的columnsCount属性变回4,确保el-table知道数据变化。不封装直接用el-table测试是正常的,来回改也是正常的。Case2使用slot="header",这导致自定义标题视图不更新case2。具体情况是element官网的el-table使用了slotslot="header"来实现自定义header,使用这个slot方法会导致视图更新失败。将slot="header"更改为#header以解决他的问题。header="scope"是slot="header"和slot-scope="scope"的组合,header是槽名,scope是接受的参数。我的实现是把上面的写法改成下面这样修改后,其他功能正常,但原来的问题依然存在,无效。描述也不是语法问题。注意:自Vue2.6.0以来引入了v-slot指令,以提供API替代方案,更好地支持插槽和插槽范围属性。slot和slot-scope属性在后续的所有2.x版本中仍然会被支持,但是官方已弃用,不会出现在Vue3中。判断是封装的table组件在处理视图更新时出现了异常。更深层的原因还没有探究。解决办法是监听传入的tableTitle的变化,有变化就强制组件刷新。解决办法是给组件el-table绑定一个number类型的key,初始值为1,当传入的tableTitle发生变化时,key会加1。同步更新到你的语雀https://www.yuque.com/迪拉克...