2012-07-16 78 views
11

如何用textfield創建帶有圖標的小按鈕,就像使用datefield一樣?在以前版本的ExtJS的有一個CompositeField但不能找到它在ExtJS的4帶小按鈕的ExtJs TextField

回答

13

只是延長http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Trigger你可以用CSS觸發場的圖標,點擊執行在onTriggerClick模板法圖標的行爲

Ext.define('Ext.ux.CustomTrigger', { 
    extend: 'Ext.form.field.Trigger', 
    alias: 'widget.customtrigger', 

    // override onTriggerClick 
    onTriggerClick: function() { 
     Ext.Msg.alert('Status', 'You clicked my trigger!'); 
    } 
}); 

Ext.create('Ext.form.FormPanel', { 
    title: 'Form with TriggerField', 
    renderTo: Ext.getBody(), 
    items:[{ 
     xtype: 'customtrigger', 
     fieldLabel: 'Sample Trigger', 
     emptyText: 'click the trigger' 
    }] 
}); 
+0

謝謝!這正是我需要的。 – patryks 2012-07-16 22:42:05

6

圖標是否可點擊?如果是這樣,你正在尋找Ext.form.field.Trigger。如果不是,您可以嘗試覆蓋文本字段的getSubTplMarkup()函數以提供一些自定義dom。

例如:

Ext.define('MyField', { 
    extend: 'Ext.form.field.Text', 

    getSubTplMarkup: function() { 
     return this.callParent(arguments) + '<span class="my-icon"></span>'; 
    } 
}); 
+0

是的,圖標應該是可點擊的。謝謝你的回答。 – patryks 2012-07-16 22:45:35