在 ExtJs 4 中,可以使用 remoteFilter: false
配置 JsonStore,然后将参数发送到服务器以允许仍然在服务器上进行过滤,例如这个:
store.load({
filters: [{property: 'state', value: 5}]
})
这已记录在案 for Extjs 4.2.2 “options
:配置对象,在加载之前传递到 Ext.data.Operation 对象。”
这样做的目的是将行的子集加载到存储中(例如用户有权访问的所有记录)并允许本地过滤(例如对某些列进行文本搜索)。
在 ExtJs 6.2 中,这不再有效。只有属性 scope
和 callback
是 documented作为 store.load
的参数,在 ExtJs 6.2 中使用此功能会出现 fatal error :filter.getFilterFn() is not a function in ext/packages/core/src/data/proxy/Server.js 第 389 行
我如何在 ExtJs 6.2 中重现类似的行为并仅为一个 store.load
调用发送额外的参数?
最佳答案
ExtJs 4 的严格等价物
store.load({
filters: [{property: 'state', value: 5}]
})
在 ExtJs 6 中如下:
store.load({
params: {
filter: Ext.encode([{property: 'state', value: 5}])
}
})
关于extjs - 在 ExtJs 6 中加载商店时如何发送自定义过滤器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42030135/