el-table 自定义排序规则
时间: 2024-05-31 10:05:51 浏览: 84
在ElementUI的el-table中,可以通过设置sort-method属性来自定义排序规则。sort-method属性是一个函数,接收三个参数,分别是a和b两个进行比较的数据项,以及一个字符串类型的direction参数,表示排序方向(升序或降序)。sort-method函数需要返回一个数字,表示a和b的大小关系,如果返回值小于0,则a排在b前面,如果返回值大于0,则a排在b后面,如果返回值等于0,则a和b相等。
以下是一个自定义排序规则的示例代码:
```html
<template>
<el-table :data="tableData" :columns="columns" :sort-method="customSort">
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 20 },
{ name: '李四', age: 30 },
{ name: '王五', age: 25 }
],
columns: [
{ prop: 'name', label: '姓名' },
{ prop: 'age', label: '年龄', sortable: true }
]
}
},
methods: {
customSort(a, b, direction) {
if (direction === 'ascending') {
return a.age - b.age;
} else {
return b.age - a.age;
}
}
}
}
</script>
```
在上面的示例代码中,我们给el-table设置了一个sort-method属性,值为customSort函数,该函数接收三个参数a、b和direction。在该函数中,我们根据传入的direction参数判断排序方向,并根据数据项的age属性进行比较,返回相应的数字。这样就实现了按年龄进行自定义排序的功能。
阅读全文