создать пользовательский компонент и повторно использовать его - PullRequest
0 голосов
/ 18 августа 2010

Я новичок в ext, я хочу создать пользовательский компонент, содержащий форму, и использовать его, зарегистрировав его как тип x, где я хочу:

MyComponent = Ext.extend(Ext.FormPanel, {
initComponent: function () {
    Ext.apply(this, {
        labelWidth: 50,
        // label settings here cascade unless overridden
        items: [{
            xtype: 'label',
            text: 'Name'
        },

        {
            xtype: 'textfield',
            label: 'First Name',
            name: 'firstname',

            id: 'firstname',
            allowBlank: true
        },
        {
            xtype: 'label',
            text: 'Last Name',
            style: {
                'color': 'black',
                'font-size': '10px'
            }
        },
        {
            xtype: 'textfield',
            label: 'lastname',

            name: 'lastname',
            id: 'lastname'
        },
        {
            xtype: 'label',
            text: 'Teams'
        },
        {
            xtype: 'button',

            text: 'Save',

            handler: function () {},
            id: 'save',
        },
        {
            xtype: 'button',
            text: 'cancel',
            handler: function () { //Ext.Msg.alert('Status', 'Changes saved successfully.');
                Ext.example.msg(' Click', 'You cancelled');
            }
        }
        ]
    });
    MyComponent.superclass.initComponent.apply(this, arguments);
},
onRender: function () {
    MyComponent.superclass.onRender.apply(this, arguments);
}
});

Ext.reg('mycomponentxtype', MyComponent); /*   paste in your code and press Beautify button   */
if ('this_is' == /an_example/) {
    do_something();
} else {
    var a = b ? (c % d) : e[f];
}

1 Ответ

0 голосов
/ 30 мая 2012

Когда я создаю свои собственные компоненты, я делаю это:

Ext.define('MyApp.view.dialog.MyDialog', {
    'extend' : 'Ext.window.Window',
    'alias' : 'widget.MyDialog',//declare xour own xtype here
    'title' : 'My Dialog',
    'items' : [{
        'xtype' : 'textfield',
        'fieldLabel' : 'Surename',
        //other config here 
    }] // other items here
});

Тогда вы можете сказать:

Ext.widget('MyDialog').show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...