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参照または (はるかに良い) コンポーネント構成オブジェクトのいずれかを必要とします。したがって、次の 2 つのオプションがあります。

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 に答える