javascript - ExtJS 6 带有远程存储的过滤器组合框下拉菜单

标签 javascript extjs combobox extjs6

我有一个像这样的远程商店:

 example:{
        storeId: 'example',
        fields: ['field1','field2','field3'],
        proxy:{
            type: 'ajax',
            url: 'data.cfc',
            actionMethods: { read: 'POST' },
            reader: {
                type: 'json',            
            }
        }                       
    }

我的组合框看起来像这样:

 xtype: 'combo',
 fieldLabel: 'Example',
 name: 'Example',
 bind:{
    store: '{example}'
 },
 valueField: 'field1',
 displayField: 'field2',
 forceSelection: true,

我现在的问题是,使用远程存储时,当我在文本字段中输入内容时,组合框不会像 queryMode: 'local' 那样过滤下拉菜单中的值。有没有办法使用 queryMode: 'remote' 实现相同的过滤器外观?

最佳答案

您将无法使用远程存储重现完全相同的行为(因为您必须首先加载数据)。如果您不介意在创建时加载商店,则可以相应地配置您的商店以允许再次在本地查询:

autoLoad:true
remoteFilter: false,

autoLoad: true 确保存储在创建时加载。如果您尝试对具有远程存储的组合框使用本地查询模式,则需要 remoteFilter: true

那么您只需将此属性添加到您的组合框中

queryMode: 'local'

过滤获取的数据。 如果您要向商店加载大量记录,这可能不是一个好主意。 此外,您还必须实现一个函数来按需(重新)加载商店。

参见this fiddle举个例子。

关于javascript - ExtJS 6 带有远程存储的过滤器组合框下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59876987/

相关文章:

javascript - 制作聚类谷歌地图

javascript - 使用 javascript 连接 midi 键盘或其他实时 midi 输入?

extjs - 通用应用程序 : only build classic toolkit

javascript - 使用 jquery 在自动完成组合框中使用 EL 表达式获取列表或数组中的所有元素

javascript - dojo/on 和 dojo/aspect 的区别

javascript - parseFloat 函数没有按预期工作

javascript - EXTJS:隐藏元素在 setvisible 后不显示

extjs - sencha 应用程序构建生产 WRN C1014 : callParent has no target

c# - Winforms ComboBox DataBinding DisplayMember 到 SubObject 属性

c# - 如何将组合框项目的对齐方式更改为右对齐?