2012-07-16 21 views

Respuesta

13

Sólo extender http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Trigger Puede cambiar el icono de la zona de activación con CSS y poner en práctica el comportamiento de clic en el icono en el método onTriggerClick plantilla

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

Gracias! Esto es exactamente lo que necesitaba. – patryks

6

¿Se puede hacer clic en el icono? Si es así, está buscando Ext.form.field.Trigger. De lo contrario, puede intentar anular la función getSubTplMarkup() del campo de texto para proporcionar un dom personalizado.

Por ejemplo:

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

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

Sí, se debe poder hacer clic en el ícono. Gracias por tu respuesta también. – patryks

Cuestiones relacionadas