使用小按钮ExtJs TextField

pat*_*yks 11 extjs extjs4

如何在文本字段中创建带图标的小按钮,就像使用datefield一样?在之前版本的ExtJS中有一个CompositeField但是无法在ExtJS 4中找到它.

Jua*_*des 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'
    }]
});
Run Code Online (Sandbox Code Playgroud)


Sea*_*son 6

图标是否可点击?如果是这样,你正在寻找Ext.form.field.Trigger.如果没有,您可以尝试覆盖Text字段的getSubTplMarkup()函数以提供一些自定义dom.

例如:

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

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