7

ExtJS コンボボックスを使用しています。コンボボックスにフォーカスすると、入力カーソルがあります。コンボボックスの作成時に実装しようとしeditable: falseましたが、クロムでしか役に立ちませんでした。

また、これがそのカーソルで機能するかどうかを確認する機能を試し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

構成を追加できます。

編集可能:false

その後、通常の Combo として動作します。

于 2015-02-03T09:35:33.873 に答える