extJS 覆盖扩展组件的属性

问题描述 投票:0回答:1

在 EXTJS 中如何在扩展组件中覆盖/创建属性?

我通常创建函数。

checked: function() {
    return this.CKB_Modifier.checked;

},

extjs
1个回答
0
投票

我建议在定义类时使用

config
属性添加自定义属性。优点是getter和setter函数是由框架自动生成的。您可以在下面的代码示例中看到自动生成的 getter 和 setter 的名称。

看看这个,你可以在 Sencha Fiddle(现代工具包)中运行它:

Ext.define('MyButton', {
    extend: 'Ext.Button',
    xtype: 'mybutton',
    config: {
        // the custom property
        myMessage: null,
        // built-in configuration properties
        text: 'Press me',
        handler: function (button, e) {
            // based the name of the customer property, getter and
            // setter are automatically generated by the framework
            Ext.Msg.alert('Alert', button.getMyMessage());
            button.setMyMessage('Clicked more than once');
        }
    },
});

Ext.application({
    name: 'Custom property',
    launch: function () {
        Ext.create({
            xtype: 'panel',
            tbar: [{
                xtype: 'mybutton',
                myMessage: 'Button was clicked first time'
            }],
            items: [{
                xtype: 'component',
                html: 'Panel body'
            }],
            layout: 'fit',
            fullscreen: true,
            renderTo: Ext.getBody()
        });
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.