element table default-sort对动态创建的列默认排序不生效
时间: 2024-10-21 19:18:11 浏览: 86
在Element UI的表格(`el-table`)中,`default-sort`属性用于设置表格的默认排序规则,这个规则通常适用于静态配置好的列。如果你动态地添加列到表格中,并期望新添加的列也能有默认排序,那么直接设置`default-sort`可能不会立即生效。
当列是动态生成的,你需要在列生成后手动触发排序,可以这样做:
1. 给动态生成的列添加一个事件监听器,比如`sort-change`,每当列的排序发生变化时,你可以记录下当前的排序状态。
2. 当动态列需要设置初始排序时,根据之前记录的排序信息,调用表格的`sort`方法,传入相应的字段名和排序方式(升序或降序)。
例如,假设你的列对象有一个`sortable`属性表示是否可排序,你可以这样做:
```javascript
let sortField = 'yourColumnField'; // 动态列的字段名
let sortOrder = 'asc'; // 升序或降序,默认可能是'asc'
// 当列被动态添加并排序改变时
this.$refs.yourTable.sort({
prop: sortField,
order: sortOrder
});
// 如果需要设置初始排序,可以在添加列之后立刻做这个操作
if (sortField && sortOrder) {
this.$refs.yourTable.sort({ prop: sortField, order: sortOrder });
}
```
阅读全文