el-table自定义排序
时间: 2023-10-07 07:09:27 浏览: 109
vue el-table实现自定义表头
对于自定义排序,你可以使用`sort-method`属性来自定义`el-table`组件中的排序规则。
首先,你需要在表格的`el-table-column`组件中设置`sortable`属性为true,以启用列的排序功能。然后,你可以通过设置`sort-method`属性为一个自定义的排序函数来实现自定义排序。
例如,假设你有一个名为`score`的列,你可以按照以下方式自定义排序:
```html
<template>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="score" label="分数" sortable :sort-method="customSort"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '小明', score: 85 },
{ name: '小红', score: 90 },
{ name: '小刚', score: 78 },
{ name: '小亮', score: 95 },
]
}
},
methods: {
customSort(a, b) {
// 自定义排序函数
// 这里示例按照分数从高到低排序
return b - a;
}
}
}
</script>
```
在上述例子中,我们在`el-table-column`组件中设置了`sort-method`属性为`customSort`,并在Vue实例的`methods`中定义了名为`customSort`的自定义排序函数。该函数接收两个参数`a`和`b`,分别代表两个进行比较的数据项。在这个例子中,我们按照分数从高到低排序,所以返回`b - a`。
这样,当用户点击表格头部的分数列时,表格将会使用我们定义的自定义排序函数来对数据进行排序。
阅读全文