TypeAhead不选择选择器中的节点

时间:2013-08-21 10:25:16

标签: extjs extjs4.1

适用于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无法找到记录的节点,即使我可以看到选择器和节点(刚刚加载掩盖)。

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

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

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

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

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

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

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