gpt4 book ai didi

javascript - 如何改变EXT的sortchange中的排序方向

转载 作者:行者123 更新时间:2023-12-02 22:55:24 26 4
gpt4 key购买 nike

我正在使用 4.2 EXT ,并且我必须使用 sortchange 监听器来处理列排序,因为我的一些列通过渲染显示值。

所以我必须在 sortchange 中处理排序,当我单击标题中菜单上的排序图标(ASC/DESC)时,它工作得很好,但是当我单击标题进行排序时,排序方向总是显示“ASC”时间。

我想要的就是点击排序图标,点击标题就可以正常排序

我检查了我的代码,我没有使用“ASC”值设置任何默认排序。

我用fiddle做了一个例子,请访问她

点击here !

我发现如果我删除 grid.store.sort({ sorterFn : 排序日期, 方向: dir });将显示正确的方向,但我必须使用此方法进行排序

          var panel = Ext.create('Ext.grid.Panel', {
id : "Panel",
store : Ext.create('Ext.data.ArrayStore', {
fields : fnDefineReqListData()
}),
columns : fnDefineReqListColumn()
scroll : true,
layout : 'fit',
autoScroll : true,
viewConfig : {
stripeRows : false
},
disableSelection : true,
listeners : {

sortchange : function(thisGrid, sortinfo) {

var grid = Ext.getCmp("Panel");
/*
* grid.store.sort(storeSorter); return;
*/
var sorter = grid.store.sorters.getAt(0);
var sort = sorter.property;
var dir = sorter.direction;
**// sorter.direction here always return ASC**

grid.store.sort({
sorterFn : sortingDate,
direction : dir
});

}
});

最佳答案

手动排序时,您应该保留方向并切换它。它将解决该问题。

对于示例 fiddle ,我使用了 sessionStorage,如果您愿意,可以使用配置来存储方向并切换它。

sessionStorage.sortState = sessionStorage.sortState === 'ASC' ? 'DESC' : 'ASC';

grid.store.sort({
sorterFn : sorting,
direction : sessionStorage.sortState
});

您可以找到工作 fiddle here

关于javascript - 如何改变EXT的sortchange中的排序方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58003340/

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