2012-07-11 54 views
0

ExtJS的4.1.1問題ExtJS的4.1.1 - 應用自定義類的表單字段

我想自定義類應用於一組文本框的面板 裏面我做的是指定的方式fieldCls默認面板的屬性,使得它適用於面板

下面內部的所有文本框是一個示例代碼

pnlTest = Ext.create('Ext.panel.Panel', { 
    width : 600 
    ,height : 190 
    ,defaults: {xtype:'textfield', fieldCls:'my-custom-class'} 
    ,items : [ 
      {name :'name1', fieldLabel:'Name 1' } 
      ,{name :'name2', fieldLabel:'Name 2' } 
      ,{name :'name3', fieldLabel:'Name 3' } 
      ,{name :'name4', fieldLabel:'Name 4' } 

      ] 
}); 

在檢查生成的HTML我看到,所述輸入元件具有與之關聯

  • 我的定製級和
  • X-型場(EXTS默認類文本框 輸入) 2類

我不希望有X型場在我輸入元素,因爲它是壓倒一切的我的風格

ExtJs文檔指出fieldCls的默認值是'x-form-field'不是假設這意味着如果我提供我的fieldCls值,它必須替換默認值而不是附加到它,或者我正在做些什麼這裏錯了。

我做了一點研究,沒有發現任何錯誤或關注登錄到sencha論壇。

任何人都可以指導我如何使用textfield的fieldCls屬性?

因爲目前我提供fieldStyle覆蓋所有樣式的解決方法,但我的目標是使用類作爲我的款式規格字符串是相當長的,動態

三江源

+0

你有沒有嘗試調試fieldCls後實際值你創建了你的面板? – sha 2012-07-11 12:18:28

回答

0

而在HTML添加CSS文件,我包括我的CSS文件,然後ESTJS css文件 因此當一個元素獲得多個班級它給予優先到最後被包含在類(後來被宣佈)

所以當我的分機生成的元素看起來像下面

<input type='text' class='my-custom-class x-form-field'> 

它總是使用x-表單域的CSS,而不是我的

現在我改變了CSS列入秩序。 我首先包括ExtJS的CSS,然後包括我的CSS文件 這樣我的CSS申報優先於ExtJS的CSS和給我想要的結果

謝謝大家尋找到問題

1

其實,你依然在一個非標準的方式做,得到fieldCls覆蓋正確的方法是用一種形式面板上的「fieldDefaults」根據文檔做:

pnlTest = Ext.create('Ext.form.Panel', { 
    width : 600 
    ,height : 190 
    ,fieldDefaults: {xtype:'textfield', fieldCls:'my-custom-class'} 
    ,items : [ 
      {name :'name1', fieldLabel:'Name 1' } 
      ,{name :'name2', fieldLabel:'Name 2' } 
      ,{name :'name3', fieldLabel:'Name 3' } 
      ,{name :'name4', fieldLabel:'Name 4' } 

      ] 
});