拆下组合框中键入光标(Remove typing cursor from combobox)

2019-06-26 15:53发布

我使用的是ExtJS的组合框。 有专注于组合框的时候是一个打字光标。 我试图执行editable: false创建组合框的时候,但它只能帮助铬。

也试过clearListeners()函数来查看,如果这个工程上的光标-没有帮助,但它仍然会出现在Firefox和IE。

另一个想法是设置disabled在组合框中输入字段。 当我手工做的,它帮助。

但是,当我写的下一

Ext.get('bu-encodingcount-combobox').select('input').set({disabled:'disabled'});

它并没有帮助 - 不知道,也许表达是错误的。

Answer 1:

你看到一个光标是因为组合框获得焦点的原因,所以要处理这个问题的最简单方法是将焦点移动到下拉选择器,只要组合获得焦点。

只需将此添加onFocus配置到您的组合框的配置:

// example combobox config
xtype: 'combo',
allowBlank: false,
forceSelection: true,
valueField:'id',
displayField:'name',
store: myStore,

// add this "onFocus" config
onFocus: function() {
    var me = this;

    if (!me.isExpanded) {
        me.expand()
    }
    me.getPicker().focus();
},

另外,我只会推荐这样做,如果这是一个forceSelection: true组合框。 它会毁了一个用户键入任何进入该领域的能力。



Answer 2:

您可以添加配置,

编辑:假

然后表现为正常的组合。



Answer 3:

尝试 -

对于IE

combo.inputEl.set({禁用: '禁用'});

对于Firefox -

combo.inputWrap.set({禁用: '禁用'});

对于浏览器 -

combo.inputCell.set({禁用: '禁用'});

这项工作的罚款。



文章来源: Remove typing cursor from combobox