11

日付フィールドのように、テキストフィールド内にアイコンを持つ小さなボタンを作成する方法は? ExtJS の以前のバージョンには CompositeField がありましたが、ExtJS 4 では見つかりません。

4

2 に答える 2

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'
    }]
});
于 2012-07-16T21:31:10.170 に答える
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>';
    }
});
于 2012-07-16T21:32:56.737 に答える