elv*_*eti 2 javascript sorting vue.js ag-grid
我的 ag-grid 有一个默认的 sort this.options.defaultSortColumn
,数据在初始化后就按它排序。现在,当用户按另一列排序,然后再次删除排序(通过单击标题 3 次)时,我想恢复默认排序并再次按默认列对数据进行排序。我尝试了以下方法:
postSort () {
if (this.gridApi) {
let currentSort = this.gridApi.getSortModel()
console.log(currentSort)
if (this.options.defaultSortColumn && currentSort && currentSort.length === 0) {
// reset default sort, if no other sort is active
this.gridApi.setSortModel({
colId: this.options.defaultSortColumn,
sort: (this.options.defaultSortDir || 'asc').toLowerCase()
})
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这会导致 a Maximum call stack size exceeded
,我认为是因为它设置了排序,然后在更新postSort
之前再次运行该事件getSortModel()
,所以它只是不断地一遍又一遍地调用该事件。难道我做错了什么?或者,当没有其他列排序时,是否有其他方法可以恢复默认排序?
您还可以gridOptions
在初始化网格时将状态重置为原来的状态。
this.gridColumnApi.resetColumnState();
Run Code Online (Sandbox Code Playgroud)
从文档中 -
resetColumnState() - 将状态设置回与最初提供的列定义相匹配。
归档时间: |
|
查看次数: |
13204 次 |
最近记录: |