在ExtJS4中修改存储请求?
我对树存储发送的请求的结构有一些问题。但是我可以用beforeload侦听器修改它在ExtJS4中修改存储请求?,extjs4,Extjs4,我对树存储发送的请求的结构有一些问题。但是我可以用beforeload侦听器修改它 store.on( 'beforeload', function( s, o ) { if( o.params.parent === 'root' ) delete o.params.parent; }); 在普通存储中,操作参数不包含params属性。。。 问题是,服务器总是需要一个sortby和sortorder参数,但是 这家商店有 只是一个排序参数(包含sortby和sortorder) 仅在对
store.on( 'beforeload', function( s, o ) {
if( o.params.parent === 'root' ) delete o.params.parent;
});
在普通存储中,操作参数不包含params属性。。。
问题是,服务器总是需要一个sortby
和sortorder
参数,但是
这家商店有
- 只是一个排序参数(包含sortby和sortorder)
- 仅在对表进行排序时发送此参数,而不是在开始时发送(如果我将其放入代理的额外参数中,则始终会覆盖存储排序参数)
因此,我想将
排序
分为sortby
和sortorder
,并在每次存储请求时发送这些参数。我遇到的第一个问题是代理的3个配置参数:
simpleSortMode: true
sortParam : 'sortby'
directionParam: 'sortorder'
这分裂了整个世界
.../?sort=[[{property:'visits', direction: 'DESC'}]]&...
进入
第二个问题,存储从一开始就没有发送排序参数,我用存储的sort()
方法解决了这个问题
...
constructor: function( config ) {
this.callParent([config]);
this.sort( config.sortby, config.sortorder );
}
...
在从服务器加载数据之前,我只是使用它以默认排序初始化存储。这导致它在第一个请求中发送排序参数
...
constructor: function( config ) {
this.callParent([config]);
this.sort( config.sortby, config.sortorder );
}
...