7

我正在使用 ExtJS 组合框。专注于组合框时有一个打字光标。我在创建组合框时尝试实现editable: false,但它仅对 chrome 有帮助。

还尝试clearListeners()了查看这是否适用于该光标的功能 - 没有帮助,它仍然出现在 FireFox 和 IE 中。

另一个想法是disabled在组合框中的输入字段上进行设置。当我手动完成时,它有所帮助。

但是当我写下一个

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

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

4

3 回答 3

12

您看到光标的原因是因为组合框获得了焦点,因此处理此问题的最简单方法是在组合获得焦点时将焦点移动到下拉选择器上。

只需将此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。它会破坏用户在字段中输入任何内容的能力。

于 2012-08-01T17:38:03.327 回答
5

您可以添加配置,

可编辑:假

然后表现为正常的 Combo 。

于 2015-02-03T09:35:33.873 回答
1

尝试 -

对于 IE

combo.inputEl.set({disabled:'disabled'});

对于火狐-

combo.inputWrap.set({disabled:'disabled'});

对于铬-

combo.inputCell.set({disabled:'disabled'});
于 2016-03-08T06:12:36.420 回答