在ExtJS4中修改商店请求?

时间:2012-10-19 08:36:13

标签: extjs4

我遇到了树存储发送的请求结构的一些问题。但我可以使用beforeload监听器修改它。

store.on( 'beforeload', function( s, o ) {
  if( o.params.parent === 'root' ) delete o.params.parent; 
});

在普通商店中,operation参数不知道如何包含params属性...... 问题是,服务器总是需要sortbysortorder参数,但

商店有

  • 只是一个排序参数(包含sortby和sortorder)
  • 只是在我对表进行排序而不是在开始时发送此参数(如果我将它放在代理的额外参数中,这总是覆盖商店排序参数)

所以我想将sort分成sortbysortorder,并在每次商店请求时发送这些参数。

1 个答案:

答案 0 :(得分:0)

我通过代理的3个配置参数获得的第一个问题:

simpleSortMode: true
sortParam     : 'sortby'
directionParam: 'sortorder'

分割

.../?sort=[[{property:'visits', direction: 'DESC'}]]&...

.../?sortby=visits&sortorder=DESC&...

第二个问题,商店没有从开头发送排序参数,我用商店的sort()方法解决了。

...
constructor: function( config ) {
   this.callParent([config]);
   this.sort( config.sortby, config.sortorder );
}
...

在它甚至从服务器加载数据之前,我只是用它来默认排序初始化商店。这导致它在第一次请求时发送sort-params。