Sortable 在带有复选框的 el-table 列中不起作用
Sortable not working in el-table-column with checkbox
当我尝试使用第一列或第二列进行排序时,除最后一列中的复选框外,所有行都已排序。根据我的代码,最后一列是不相交的吗?
<el-table :data="items" stripe style="width: 50%">
<el-table-column prop="email" label="email" sortable></el-table-column>
<el-table-column prop="username" label="Username" sortable></el-table-column>
<el-table-column label="Enable">
<template slot-scope="scope">
<el-checkbox :checked="scope.row.isSelected" @change="toggleEnable(scope.row)" />
</template>
</el-table-column>
</el-table>
所以基本上 DOM 没有改变,所以 Vue 无法识别这个改变。要给 Vue 一个提示,以便它可以跟踪每个节点的身份,从而重用和重新排序现有元素,您需要为每个项目提供一个唯一的键属性。在元素 ui table 的情况下,您应该填写 row-key
属性。在 table-atributes
中列出
添加 row-key
将解决您的难题
另一种方法是将 :checked
替换为 v-model
。但提供 row-key
仍然很好
当我尝试使用第一列或第二列进行排序时,除最后一列中的复选框外,所有行都已排序。根据我的代码,最后一列是不相交的吗?
<el-table :data="items" stripe style="width: 50%">
<el-table-column prop="email" label="email" sortable></el-table-column>
<el-table-column prop="username" label="Username" sortable></el-table-column>
<el-table-column label="Enable">
<template slot-scope="scope">
<el-checkbox :checked="scope.row.isSelected" @change="toggleEnable(scope.row)" />
</template>
</el-table-column>
</el-table>
所以基本上 DOM 没有改变,所以 Vue 无法识别这个改变。要给 Vue 一个提示,以便它可以跟踪每个节点的身份,从而重用和重新排序现有元素,您需要为每个项目提供一个唯一的键属性。在元素 ui table 的情况下,您应该填写 row-key
属性。在 table-atributes
添加 row-key
将解决您的难题
另一种方法是将 :checked
替换为 v-model
。但提供 row-key