原因是因为表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,通过key去标识一下当前行是唯一的,不许复用,就行了。
在其和其之后的一个显示的组件上添加 :key="Math.random()"
<el-table-column
:label="$t('customer.name')"
prop="name"
:show-overflow-tooltip="true"
v-if="showColumn('Name')"
:sort-orders="['descending', 'ascending']"
:key="Math.random()"
>
<template slot="header">
<span>{{ $t('customer.name') }}</span>
<span
class="icon-wrapper"
v-if="isSortable('customerName')"
@click="handleSortTable('customerName')"
>
<svg-icon
iconClass="caret-bottom"
v-if="sortProp === 'customerName' && sortOrder === 'ascending'"
/>
<svg-icon
iconClass="caret-top"
v-else-if="
sortProp === 'customerName' && sortOrder === 'descending'
"
/>
<svg-icon v-else iconClass="caret-null" />
</span>
</template>
..............................