el-table 使用sort-method 自定义排序详解
<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之前
}
}
}