1

Store から値を読み込んで、条件 (たとえば name == Matt) でフィルター処理しています。コードを以下に示します。

var store = Ext.getStore('mystore');
store.on('load', function() {
    store.filter({
        filterFn: function(rec) {
            return Ext.Array.indexOf(arr, rec.get('name')) > -1;
        }
    });
});
     store.load();

後で、別のビューで、フィルター処理された結果 (上記) を使用して、別の値の配列に対してフィルター処理する必要があります。これどうやってするの;

私のアプローチは、レコードを再度ロードすることでした(上記のコードを再度貼り付けます-ただし、フィルター部分は除きます)。しかし、これは正しくありません。では、以前にフィルタリングされた結果配列から結果をフィルタリングするにはどうすればよいですか?

4

1 に答える 1

3

そのプロパティでストアのロード時に実行するフィルタを定義し、filtersプロパティを に設定できfilterOnLoadますtrue

新しいフィルタ条件に対してレコードをフィルタするには:

store.clearFilter(true); // Clears old filters
store.filter([
    {
         filterFn: function(rec) {
              return Ext.Array.indexOf(arr, rec.get('name')) > -1;
         }
    }
]);
于 2012-08-23T04:44:20.540 に答える