0

ツリーストアが送信したリクエストの構造に問題がありました。しかし、beforeload リスナーを使用して変更できます。

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

通常のストアでは、操作の引数に何らかの形で params 属性が含まれていません...問題は、サーバーが常にsortbyandsortorderパラメータを必要とすることですが、

店にはある

  • 単なる並べ替えパラメーター (sortby と sortorder を含む)
  • 最初ではなく、テーブルをソートするときにこのパラメーターを送信するだけです(プロキシの追加のパラメーターに入れると、これは常にストアソートパラメーターをオーバーライドします)

そのため、ストアが何かを要求するたびに、これらのパラメーターを分割sortしてsortby送信したいと考えています。sortorder

4

1 に答える 1

0

プロキシの 3 つの構成パラメーターで最初に発生した問題は次のとおりです。

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

を分割する

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

の中へ

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

2 つ目の問題は、ストアが最初から並べ替えパラメーターを送信しなかったということsort()で、ストアのメソッドで解決しました。

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

サーバーからデータをロードする前に、デフォルトの並べ替えでストアを初期化するために使用しました。これにより、最初のリクエストで sort-params が送信されました。

于 2012-10-19T12:36:42.210 に答える