Lor*_*yer 2 extjs upgrade filter extjs4 extjs6
在 ExtJs 4 中,可以配置一个 JsonStore remoteFilter: false,然后将参数发送到服务器,允许仍然在服务器上进行过滤,如下所示:
store.load({
filters: [{property: 'state', value: 5}]
})
Run Code Online (Sandbox Code Playgroud)
这是记录在案的ExtJS的4.2.2 “ options:配置对象,传递到装货前的Ext.data.Operation对象。”
这样做的目的是将行的子集加载到存储中(例如用户有权访问的所有记录)并允许本地过滤(例如对某些列进行文本搜索)。
在 ExtJs 6.2 中,这不再有效。只有属性scope和callback被记录为 的参数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调用发送额外的参数?
ExtJs 4 的严格等价物
store.load({
filters: [{property: 'state', value: 5}]
})
Run Code Online (Sandbox Code Playgroud)
ExtJs 6 中的内容如下:
store.load({
params: {
filter: Ext.encode([{property: 'state', value: 5}])
}
})
Run Code Online (Sandbox Code Playgroud)