带有小按钮的ExtJs文本字段

带有小按钮的ExtJs文本字段,extjs,extjs4,Extjs,Extjs4,如何创建文本字段内带有图标的小按钮,如datefield?在以前版本的ExtJS中有一个CompositeField,但在ExtJS 4中找不到它。只需扩展即可使用CSS更改触发器字段的图标,并实现在OnTiggerClick模板方法中单击图标的行为 Ext.define('Ext.ux.CustomTrigger', { extend: 'Ext.form.field.Trigger', alias: 'widget.customtrigger', // overri

如何创建文本字段内带有图标的小按钮,如datefield?在以前版本的ExtJS中有一个CompositeField,但在ExtJS 4中找不到它。

只需扩展即可使用CSS更改触发器字段的图标,并实现在
OnTiggerClick
模板方法中单击图标的行为

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'
    }]
});

图标可点击吗?如果是这样,您将查找
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>';
    }
});
Ext.define('MyField'{
扩展:“Ext.form.field.Text”,
getSubTplMarkup:函数(){
返回此.callParent(参数)+'';
}
});

谢谢!这正是我需要的。是的,图标应该可以点击。谢谢你的回答。