1

我有一个窗口,我想给它添加一个面板。我的代码如下;我看到了窗口,但没有看到面板。为什么我的代码没有显示面板?

然后我想为每个面板着色。它也不起作用。

Ext.define('Sports.view.WelcomeWindow', {
    extend: 'Ext.window.Window',
    alias : 'widget.welcomewin',
    layout:'fit',
    defaults: {
    bodyStyle: 'padding:10px'
    },
    items: [panel1]
    });
//column.show();
var panel1 = Ext.create('Ext.panel.Panel', {
    title: 'Panel 1',
    html: 'Body 1',
    id: 'panel1Id',
    columnWidth: .25, //means 25%
    height: 120
    });

var resultQuery = Ext.ComponentQuery.query('panel');
var colors = ['#ACFA8A','#F4FA8A','#FAB38A','#8AE9FA','#CA8AFA'];
for (var i = 0; i < resultQuery.length; i++) {
resultQuery[i].body.highlight(colors[i], {duration: 10000});
}
4

1 回答 1

2

panel1定义时将不在范围内WelcomeWindow。配置属性通常需要Ext.create引用或(更好)组件配置对象。所以你有两个选择:

Ext.define('Sports.view.WelcomeWindow', {
    extend: 'Ext.window.Window',
    alias : 'widget.welcomewin',
    layout:'fit',
    defaults: {
        bodyStyle: 'padding:10px'
    },
    items: [
        Ext.create('Ext.panel.Panel', {
            title: 'Panel 1',
            html: 'Body 1',
            id: 'panel1Id',
            columnWidth: .25, //means 25%
            height: 120
        }) 
    ]
});

或者更好的一个:

Ext.define('Sports.view.WelcomeWindow', {
    extend: 'Ext.window.Window',
    alias : 'widget.welcomewin',
    layout:'fit',
    defaults: {
        bodyStyle: 'padding:10px'
    },
    items: {
            xtype: 'panel',
            title: 'Panel 1',
            html: 'Body 1',
            id: 'panel1Id',
            columnWidth: .25, //means 25%
            height: 120
    }
});

此外,您在实际创建窗口时提供的代码也不清楚,因此颜色设置可能会失败,因为窗口尚未创建。

于 2012-07-10T09:05:09.623 回答