ExtJS 4.1.x - 里面有一个组合框的选择器

Posted

技术标签:

【中文标题】ExtJS 4.1.x - 里面有一个组合框的选择器【英文标题】:ExtJS 4.1.x - Picker with a Combobox inside 【发布时间】:2013-02-07 18:34:30 【问题描述】:

我有一个自定义选择器类,其中包含一些文本字段和一个组合框。应用程序中的网格使用此选择器作为列的编辑器,但问题是每当我单击组合框时,选择器都会失去焦点并关闭。有没有办法修改选择器以使用组合框来选择数据?

【问题讨论】:

如果可能,请分享代码 使用“CD”的解决方法,jsfiddle.net/8E85C 【参考方案1】:

我使用collapseIf 函数找到了解决此问题的方法。

此代码检查事件目标是否为BoundList(内部使用DataView 表示ComboBox)和选择器组件的一部分:

collapseIf: Ext.Function.createInterceptor(Ext.form.field.Picker.prototype.collapseIf, function (e) 
        var boundList = Ext.get(e.target).up('.x-boundlist'),
            cmp;

        cmp = boundList && Ext.getCmp(boundList.id);

        if (cmp && this.picker.down('#' + cmp.pickerField.id))
            return false;
        
    )

【讨论】:

有一个 mousedown 处理程序附加到一个名为“mimicBlur”的函数,该函数还将选择器隐藏在“triggerBlur”中。所以我认为它想将您的解决方法添加到mimicBlur 和collapseIf 方法中。 参考这个:sencha.com/forum/…

以上是关于ExtJS 4.1.x - 里面有一个组合框的选择器的主要内容,如果未能解决你的问题,请参考以下文章

在 ExtJS 中获取组合框的值

extjs:加载时如何设置组合框的值

如何让组合框选择与 ExtJS6 中显示的值不同的值?

如何在 ExtJS 5 中的网格编辑器组合框的当前记录中添加项目

如何在 Ext Js 中自动选择(显示)组合框的第一个值?

ExtJS组合框无法渲染