在ExtJs 4 中,可以让JsonStore配置remoteFilter: false
,然后将参数发送到服务器,允许仍然在服务器上进行过滤,如下所示:
store.load({
filters: [{property: 'state', value: 5}]
})
这是记录的for Extjs 4.2.2“options
:config对象,在加载之前传入Ext.data.Operation对象。”
目的是将行的子集加载到商店中(例如,用户有权访问的所有记录)并允许本地过滤(例如,对某些列进行文本搜索)。
在ExtJs 6.2 中,这不再有效。只有属性scope
和callback
为documented作为store.load
的参数,并且在ExtJs 6.2中使用此功能会产生致命错误:filter.getFilterFn() is not a function in ext/packages/core/src/data/proxy/Server.js on line 389
如何在ExtJs 6.2中重现类似行为并仅为一次store.load
调用发送额外参数?
答案 0 :(得分:2)
你可以:
store.load({
params: {
state: 5
}
});
答案 1 :(得分:2)
严格等同于ExtJs 4的
store.load({
filters: [{property: 'state', value: 5}]
})
ExtJs 6中的是以下内容:
store.load({
params: {
filter: Ext.encode([{property: 'state', value: 5}])
}
})