el-table 字段自定义排序
我在element-ui中使用el-table排序,默认开启就是el-table-column上加个sortable即可,但是后端返回的数据中含有中文
列如tableData中有个字段count 对应值是 类似 13,6,2,3,4,5,10以上,7,含有中文‘以上’两个字,这个时候自带的排序已经无法满足我的要求,
所以需要增加该列的自定义排序
......
<el-table-column prop="count" label="数量" sortable
:sort-method="customSort"> </el-table-column>
.....
methods: { customSort(a, b) { let valueA = this.parseValue(a['count']); let valueB = this.parseValue(b['count']); return valueA - valueB; // 根据解析后的数值进行排序 }, parseValue(value) { let result = value.match(/(\d+)/); // 正则表达式提取数字 if (result) { let number = parseInt(result[0], 10); return value.includes("以上") ? number + 0.1 : number; // "以上" 的情况稍微增加数值 } return Number.MAX_VALUE; // 非数字字符串赋予一个大数值以便于排序 } }