ExtJS remoteFilter with List 不起作用



>我有一个带有remoteFilter: true的商店,当我加载结果和排序时,我从远程源获得正确的响应,但是当我尝试过滤一个值时,我在控制台中收到错误,上面写着

TypeError: Cannot read property 'items' of null

我可以在服务器的响应中看到过滤正在正确发送和接收。

在我的网格列中,我有以下内容(假值 - 我手动输入它们,因为我的代码在 Intranet 上):

{ text: 'Header Whatever', dataIndex: 'status', filter: { type: 'list', dataIndex: 'remoteStatus',//the value from the remote source is different from my model (changing it doesn't fix it) single: true, options: [ 'visible', 'invisible' ] } }

过滤其他列中的文本字符串工作正常,如果没有结果,我不会收到错误。过滤我的自定义选项会调用并从远程源获得正确的响应,但我收到错误并且加载掩码没有消失。

所有远程排序都有效,使用字符串进行过滤也有效。不幸的是,我必须提供一个值列表供用户过滤,因此在这里使用字符串过滤器是不可能的。

知道我错过了什么吗?我正在使用 ExtJS 6.0.1。我已经在Sencha的论坛上发布了这个问题,但那里没有太多支持。

好的...我认为问题可能出在列表存储的加载上。我正在定义一个新的列表存储,但我想它没有被实例化。通过按变量添加存储,我能够使其加载

var mystore = Ext.create('Ext.data.Store', {
fields: ['id'],
data: [
{ id: 'invisible'},
{ id: 'visible'}
]
});
....
filter: {
type: 'list',
store: mystore,
idField: 'id',
labelField: 'id',
dataIndex: 'remoteStatus',
....

最新更新