3

ExtJSを使用していて、テキストフィールドコンポーネントがあります。inputElテキストフィールドコンポーネント(ラベルではなく)のみを無効にしたいのですが。

setDisabled()テキストフィールドのメソッドを使用するとinputEl、ラベルだけでなく無効も設定されます。

この方法も使用setReadOnly()しましたが、がグレー表示されず、inputElとして設定されているだけReadOnlyです。

inputElテキストフィールドコンポーネントのみを無効にする方法はありますか?

ご協力いただきありがとうございます。

4

3 に答える 3

2

カスタムクラスをに設定する必要がありますdisabledCls

.ux-item-disabled .x-form-field, .ux-item-disabled .x-form-display-field, .ux-item-disabled .x-form-trigger {
   filter: alpha(opacity=30);
   opacity: .3;
}

JSFiddleを参照してください

于 2013-01-31T11:57:06.427 に答える
0

私はSenchaフォーラムから別の答えを得ました(私はそれをここにも投稿するのは面白いかもしれないと思いました) 解決策

setOpacityメソッドを使用します

Ext.onReady(function () {
var panel =Ext.create('Ext.form.Panel', {
    title: 'Basic Form',
    renderTo: Ext.getBody(),
    bodyPadding: 5,
    width: 350,
    items: [{
        xtype: 'textfield',
        fieldLabel: 'Field',
        name: 'theField',
      disabled: true
    }]        
});

 panel.down('[xtype=textfield]').labelEl.setOpacity(1); });
于 2013-02-04T08:53:50.997 に答える
0

これはどうですか?

items: [{
  xtype: 'textfield',
  name: 'item',
  itemId: 'item',
  readOnly: true,
  listeners:{
    afterrender: function(f){
      c.inputEl.addCls('x-item-disabled');
    }
}]

クラスを適用する前にifを含めると、二者択一的に変更することもできます

于 2021-09-09T07:47:39.640 に答える