4

ExtJS v4.1 コンボボックスがあり、それをストアにバインドし、その pageSize 構成を次のように設定しました。

var myStore = Ext.create('Ext.data.Store', {
    model: 'User',
    remoteFilter: true,
    remotePaging: true,
    autoLoad: true
    proxy: {
        type: 'ajax',
        url: '/users.json',
        reader: {
            type: 'json',
            root: 'users'
        }
    },
    pageSize: 50,                  //   <= store pageSize
});

Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose',
    store: myStore,
    queryMode: 'remote',
    displayField: 'Name',
    valueField: 'Id',
    pageSize: 20                   //   <= combobo pageSize
});

ドキュメンテーションによるとpageSizeサーバーに送信される ajax クエリをフィルタリングするには、コンボボックスのプロパティを使用する必要がありますqueryMode='remote'。しかし、私たちが見ているのは反対で、コンボボックスの下部にページングツールバーを表示するためにのみ使用されています (ドキュメントの最初のコメントはそう言っています)。

しかし、この特定のケースで本当に必要なpageSizeのは、ストアのプロパティをオーバーライドし、コンボボックスのpageSizeプロパティを ajax リクエストのフィルタリングに使用することです。

コンボボックスでそのような機能をどのように実装/拡張できますか? pageSizeコンボボックスでストアのプロパティをオーバーライドするにはどうすればよいですか?

4

2 に答える 2