el-table 使用sort-method 自定义排序详解

时间:2024-10-06 07:38:42
<el-table-column label="控制器状态" :sortable="true" :sort-method="sortState"> <template slot-scope="scope"> <div v-if=""> <span v-if=" === '0'" style="color: #008B45"> 普通状态 </span> <span v-else-if=" === '1'" style="color:#FF0000"> 消防状态 </span> <span v-else> 获取失败 </span> </div> <el-button v-else :loading="true" style="border: none; background-color: transparent; outline: none">加载中</el-button> </template> </el-table-column> methods: { sortState (a, b) { // a和b 就是表格数据(a是第一条b是第二条 a是第三条b是第四条 以此类推) // 当前state字段 有3个值分别为{'0': 普通状态, '1': 消防状态, '-1': 获取失败} // 我的期望结果是 消防状态排在最前 普通第二 获取失败排在最后,根据以下判断 可以实现效果。 if (a.state > b.state) { return -1 // 如果返回值小于0 那么a排在前 b在之后, 等于0 位置不变, 大于0 b排在a之前 } } }