el-table sortmethod排序
时间: 2023-10-02 19:05:18 浏览: 187
Table排序
el-table 是 Element UI 提供的表格组件,sort-method 属性用于自定义表格的排序方式。具体步骤如下:
1. 在 el-table 组件上绑定 :data 属性,绑定表格需要显示的数据。
2. 在 el-table-column 组件上绑定 :prop 属性,绑定该列所对应的数据字段。
3. 在 el-table-column 组件上绑定 :sortable="customSort" 属性,开启该列的排序功能,同时传入一个自定义的排序函数。
4. 在 el-table 组件上绑定 :sort-method="sortTable" 属性,将自定义的排序函数传入表格组件。
示例代码如下:
```html
<template>
<el-table :data="tableData" :sort-method="sortTable">
<el-table-column prop="name" label="姓名" :sortable="customSort"></el-table-column>
<el-table-column prop="age" label="年龄" :sortable="customSort"></el-table-column>
<el-table-column prop="gender" label="性别" :sortable="customSort"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18, gender: '男' },
{ name: '李四', age: 20, gender: '女' },
{ name: '王五', age: 22, gender: '男' },
{ name: '赵六', age: 19, gender: '女' }
]
}
},
methods: {
customSort(sortObj) {
// 如果需要自定义排序方式,可以在这里添加代码
return true;
},
sortTable(sortObj) {
// 根据 sortObj 对表格数据进行排序
const { prop, order } = sortObj;
this.tableData.sort((a, b) => {
const aValue = a[prop];
const bValue = b[prop];
if (order === 'ascending') {
return aValue > bValue ? 1 : -1;
} else {
return aValue < bValue ? 1 : -1;
}
});
}
}
}
</script>
```
在上面的示例代码中,我们通过实现 sortTable 方法来自定义表格的排序方式。该方法接收一个 sortObj 参数,包含当前排序的字段和排序方式(升序或降序)。我们通过对 tableData 数组进行排序,来实现表格数据的排序。
阅读全文