我们有一个 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
store 的属性,并使组合框的pageSize
属性用于过滤 ajax 请求。
我们如何在组合框中实现/扩展这样的功能?我们如何pageSize
在组合框中覆盖商店的属性?