我想把变量(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
问题
我该如何解决?
答案 0 :(得分:2)
为此,您需要对panel
使用initComponent
方法。在panel
中,您将定义自定义配置,然后您可以进入initComponent
方法。
在此 FIDDLE 中,我使用panel
,button
和initComponent
方法创建了一个演示。我希望这可以帮助您或指导您实现您的要求。
代码段
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');