gpt4 book ai didi

javascript - AG Grid - 如果没有其他列排序,则恢复默认排序

转载 作者:行者123 更新时间:2023-12-01 00:48:20 25 4
gpt4 key购买 nike

我的 ag-grid 有一个默认排序 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()
})
}
}
}

但这会导致超出最大调用堆栈大小,我认为是因为它设置了排序,然后在 getSortModel() 之前再次运行 postSort 事件 已更新,因此它只是不断地一遍又一遍地调用该事件。难道我做错了什么?或者当没有其他列排序时是否有其他方法可以恢复默认排序?

最佳答案

您还可以将 gridOptions 状态重置为初始化网格时的状态。

this.gridColumnApi.resetColumnState();

来自文档 -

resetColumnState() - Sets the state back to match the originally provided column definitions.

关于javascript - AG Grid - 如果没有其他列排序,则恢复默认排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57202718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com