extjs xtype按钮样式变量

时间:2017-12-27 03:57:59

标签: javascript variables extjs extjs4 width

我想把变量(btnWidth / bthHeight)放到按钮的宽度(高度):

Ext.define(
  'TestPanel', {
    extend: 'Ext.Panel',
    width: 300,
    height: 35,
    btnHeight: 25,
    btnWidth: 25,
    items: [{
      xtype: 'button',
      width: btnWidth,
      height: btnHeight,
    }, {
      xtype: 'button',
      width: btnWidth,
      height: btnHeight,
    }  
  }

这是错误消息:

Uncaught TypeError: Cannot read property 'btnWidth' of undefined

问题

我该如何解决?

1 个答案:

答案 0 :(得分:2)

为此,您需要对panel使用initComponent方法。在panel中,您将定义自定义配置,然后您可以进入initComponent方法。

在此 FIDDLE 中,我使用panelbuttoninitComponent方法创建了一个演示。我希望这可以帮助您或指导您实现您的要求。

代码段

Ext.define('TestPanel', {
    extend: 'Ext.panel.Panel',
    bodyPadding: 5,
    width: 300,
    btnHeight: 38,
    btnWidth: 50,
    title: 'Buttons example',
    initComponent: function (config) {
        var me = this,
            btnWidth = me.btnWidth,
            btnHeight = me.btnHeight;

        me.items = [{
            xtype: 'button',
            text: 'Button 1',
            width: btnWidth,
            height: btnHeight,
            margin: 10
        }, {
            xtype: 'button',
            text: 'Button 1',
            width: btnWidth,
            height: btnHeight
        }];
        me.callParent(arguments);
    },
    renderTo: Ext.getBody()
});

//Create component
Ext.create('TestPanel');