Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs TypeAhead不选择选择器中的节点_Extjs_Extjs4.1 - Fatal编程技术网

Extjs TypeAhead不选择选择器中的节点

Extjs TypeAhead不选择选择器中的节点,extjs,extjs4.1,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

对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.1a重现您的问题(我手头没有4.1.3),但我确实在第一次加载之前使类型失败。在商店加载后,我可以通过触发“提前键入”来解决此问题:

combo.getStore().on({
    load: {
        single: true,
        fn: function() {
            combo.onTypeAhead();
        }
    }
});
不确定这对你的情况是否有帮助


如果我是您,并且在您的情况下可行,我会将该组合框转到
queryMode:local
,让服务器一次发送所有数据,并完成处理。加上组合将是超级反应

“设法找到记录但无法选择它”是什么意思?@rixo我在组合的onTypeAhead方法中设置了一个断点,并一步一步地查看每个值。除了行boundList.highlightItem(boundList.getNode(record))中的getNode(record)之外,所有工作正常;返回null,我不理解,因为我看到了列表和项目。如前所述,该列表仍被屏蔽,但其中的所有项。@更准确地说,rixo getNodeByRecord遇到0,是否自动加载了此.all.elements存储?你为什么需要一个触发按钮?它做什么?@dbrin商店是由组合加载的,需要该按钮,因为我们无法强制小时客户键入,他可能还想从列表中选择一个值。感谢您的回复,这正是我们担心的。不完全是这样,但基本上我们的解决办法和你们的一样。即使这不是我们希望听到的:(无论如何,再次感谢您的快速响应!