2012-09-18 26 views
1

有什麼方法可以在單個追加兩個xtypes。我的意思是我有一個xtype作爲文本框,另一個作爲按鈕。 在這裏,我給出了一個文本框旁邊的按鈕代碼和它的工作。 但現在我需要單個文本框和按鈕。是否可以在Ext JS中追加一個xtype到另一個?

{ 
     layout: "column", 
     anchor: "0", 
     items: [{ 
      columnWidth: .5, 
      layout: "form", 
      items: { 
       xtype: "textfield", 
       name: "agent", 
       fieldLabel: "Representant", 
       anchor: "0" 
      } 
     },{ 
      columnWidth: .5, 
      items: { 
       xtype: 'button', 
       text: 'Click me' 
      } 
     }] 
    } 

回答

1

的xtype或插件

甲的xtype是一種用於一個類中的shortconstructor的。你可以在課堂上嵌套什麼取決於課程。至於文本字段,你不能追加任何孩子。如果你想了解更多關於任何課程的信息,你應該看看API。 Basicly可以嵌套他們爲你做了你的問題

對於要

什麼使這真的很乾淨,你既可以延長文本框,使用triggerfield(這其中有已經按鈕,在那裏你可以改變佈局)或編寫一個插件,然後可以將其添加到任何適當的字段。

評論回答

你可以試試下面的未經測試的代碼!您也可以使用帶有應用hbox佈局的container而不是複合字段。但這種感覺更適合我。

{ 
    xtype: 'compositefield', 
    labelWidth: 120 
    items: [ 
     { 
      xtype  : 'textfield', 
      fieldLabel: 'Title', 
      flex  : 1, 
      ref  : '../myTextfieldRef' // set a selfreference to the ownerCt 
     }, 
     { 
      xtype  : 'button', 
      iconCls : 'icon-class-name', 
      text  : 'My Button Text', 
      width  : 20, 
      ref  : '../myButtonRef', // set a selfreference to the ownerCt 
      handler : function(btn) { 
       console.log(btn.ownerCt.myTextfieldRef.value); 
      } 
     } 
    ] 
} 
+0

謝謝。 triggerfield是好的,但它看起來像combofield,所以我不能使用它。那麼是否可以從ext.form.textfield和ext.form.button爲textfield和button自定義新的xtype? – lambypie

+0

@justNeo我編輯了我的帖子。讓我知道你是否需要更多的幫助。 – sra

1

對於您的要求,由SRA雖這麼說,這是更好地使用triggerfield(或twinTriggerField如果你有兩個按鈕)。

結合其他領域,你也可以看看compositeField

相關問題