2012-10-19 70 views
0

我在樹存儲發送的請求結構中存在一些問題。但我可以用一個beforeload監聽器修改它。在ExtJS4中修改存儲請求?

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

在正常存儲,操作參數不包含總得PARAMS屬性... 問題是,服務器總是希望sortbysortorder參數,但

店裏有

  • 只是一個排序參數(其中包含sortby和sortorder)
  • 只是當我排序表而不是在開始時發送此參數(如果我把它在代理的額外參數,這始終覆蓋賣場排序參數)

所以我想了分裂sortsortbysortorder和每一個商店請求一些時間發送這些PARAMS。

回答

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); 
} 
... 

我只是使用它來初始化存儲與默認排序,甚至之前它甚至從服務器加載數據。這導致它發送第一個請求的排序參數。