vue 解决el-table 表体数据发生变化时,未重新渲染问题|页面不更新问题
第一种情况,直接把key写在表格上
一、所遇到的问题
在使用el-table组件
时,数据已经发生了变化,但是页面显示的数据却没变化;
二、解决办法
在el-table中添加一个key,可以设置成boolean类型的,在数据更新后更新这个key;
1 <el-table :data="currentRecordList" :key="isUpdate"> 2 <el-table-column prop="address" label="Sender" min-width="10%" /> 3 <el-table-column prop="date" label="Date" min-width="15%" /> 4 <el-table-column label="Message conten" min-width="40%"> 5 <template slot-scope="scope"> 6 <span v-if="scope.row.bodyHighlights" v-html="scope.row.bodyHighlights"></span> 7 <span v-else>{{ scope.row.body }}</span> 8 </template> 9 </el-table-column> 10 </el-table>
在数据更新的地方后面加上如下
this.isUpdate = !this.isUpdate;
第二种情况,可能只需要更新某一列的某一个数据,那么直接把key放在这列上就可以
<el-table-column prop="expectedAmount" label="预计支付金额" :key="isUpdate" /> data() { return { isUpdate: Math.random(), } } 再你更新某一个数据之后 再调一次这个参数 this.isUpdate = Math.random();
参考以下链接:https://blog.csdn.net/qq_24950043/article/details/114292940