在面板上的边框布局中按xtype添加项目 - 未捕获的TypeError:item.onAdded不是函数

时间:2017-08-02 01:05:40

标签: extjs extjs6 extjs6-classic

我正在使用边框布局,我想在中心区域显示图表(以及在网格上),但是,当我尝试将项目(通过xtype)添加到区域中的项目时#39; center',我收到以下错误:"未捕获TypeError:item.onAdded不是函数"。你可以看到下面的代码。

Ext.define('Class file name...', {
extend: 'Ext.panel.Panel',
xtype: 'main-xtype',

controller: 'alias-for-controller',
viewModel: 'alias-for-viewmodel',

title: 'Main Title',

layout: 'border',
scrollable: true,
bodyPadding: 10,
bodyBorder: false,

items: [{
    region: 'north',
    height: '100',
    tbar: [{
        xtype: 'combobox',
        emptyText: 'Select an Option',
        width: 200
    }, '->', {
        xtype: 'button',
        iconCls: 'x-fa fa-refresh'
    }]
}, {
    title: 'West Title',
    region: 'west',
    collapsible: true,
    floatable: false,
    width: '300',
    minWidth: 250,
    maxWidth: 350,
    items: [{
        xtype: 'displayfield',
        fieldLabel: 'DF1'
    }, {
        xtype: 'displayfield',
        fieldLabel: 'DF2'
    }, {
        xtype: 'displayfield',
        fieldLabel: 'DF3'
    }]
}, {
    title: 'Center Title',
    region: 'center',
// here is where the problem starts
    items: [{
        xtype: 'xtype-to-chart'
    }]
},  {
    title: 'South Title',
    html: '<p>South Title</p>',
    region: 'south',
    height: '300',
    minHeight: '250',
    maxHeight: '350'
}]  });

修改 好吧,我尝试过做一个网格而且没有问题,所以我现在认为它与我试图放在那里的图表有一些关系。以下是图表的代码:

Ext.define('Class name...', {
extend: 'Ext.chart.series.Bar',
xtype: 'xtype-to-chart',

requires: [

],

width: 600,
height: 300,

store: {
    fields: ['name', 'value'],
    data: [{
        name: 'metric one',
        value: 10
    }, {
        name: 'metric two',
        value: 7
    }, {
        name: 'metric three',
        value: 5
    }, {
        name: 'metric four',
        value: 2
    }, {
        name: 'metric five',
        value: 27
    }]
},

axes: [{
    type: 'numeric',
    position: 'left',
    title: {
        text: 'Value',
        fontSize: 15
    },
    fields: 'value',
}, {
    type: 'category',
    position: 'bottom',
    title: {
        text: 'Name',
        fontSize: 15
    },
    fields: 'name'
}],

series: {
    type: 'bar',
    subStyle: {
        fill: ['#388FAD'],
        stroke: '#db250b'
    },
    xField: 'name',
    yField: 'value'
}});

1 个答案:

答案 0 :(得分:0)

您的图表类正在扩展系列,而不是图表。您需要扩展Ext.chart.CartesianChart