0

适用于 ExtJS 4.1.3

我们有一个配置如下的组合:

{
    xtype: 'combo',
    minWidth: 200,
    maxWidth: 450,
    emptyText: 'Customer...',
    hideLabel: true,
    typeAhead: true,
    store: Select,
    queryMode: 'remote',
    valueField: 'Id',
    displayField: 'Name',
    triggerAction: 'all'
}

如果我们在第一次呈现选择器之前开始在组合中输入内容,typeAhead 设法找到适当的记录但无法选择它。如果我们首先通过单击触发器打开选择器,则一切正常。

在调试过程中,我设法看到 typeAhead 无法找到记录的节点,即使我可以看到选择器和节点(只是仍然被加载掩盖)。

旁注:我们无法升级版本。

这可以通过某种方式解决吗?

任何帮助表示赞赏!

4

1 回答 1

1

我不确定我是否能够用 4.1.1a 重现您的问题(我手头没有 4.1.3),但我确实让类型提前在第一次加载之前失败。在商店加载后,我可以通过提前触发类型来解决它:

combo.getStore().on({
    load: {
        single: true,
        fn: function() {
            combo.onTypeAhead();
        }
    }
});

不确定这对您的情况是否有帮助。

如果我是你,并且在你的情况下可行,我会将该组合框变为queryMode: local,让服务器一次发送所有数据,然后完成它。加上组合将是超级反应!

于 2013-08-21T13:04:01.450 回答