Search code examples
extjsfilterextjs4upgradeextjs6

How to send custom filter parameters when loading a store in ExtJs 6


In ExtJs 4, it was possible to have a JsonStore configured with remoteFilter: false and then send parameters to the server that allow to still filter on the server, like this:

store.load({
    filters: [{property: 'state', value: 5}]
})

This is documented for Extjs 4.2.2 "options: config object, passed into the Ext.data.Operation object before loading."

The purpose of this is to load a subset of rows into the store (e.g. all records the user has access to) and allow local filtering (e.g. text search on certain columns).

In ExtJs 6.2, this no longer works. Only the properties scope and callback are documented as parameters for store.load, and using this feature in ExtJs 6.2 gives a fatal error: filter.getFilterFn() is not a function in ext/packages/core/src/data/proxy/Server.js on line 389

How can I reproduce a similar behavior in ExtJs 6.2 and send extra parameters just for one store.load call ?


Solution

  • You can:

     store.load({
         params: {
             state: 5
         }
     });