我目前正在使用文档https://docs.sencha.com/extjs/7.6.0/classic/Ext.grid.Panel.html中的嵌入式小提琴:
Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields:[ 'name', 'email', 'phone'],
data: [
{ name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
{ name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
{ name: 'Homer', email: 'homer@simpsons.com', phone: '555-222-1244' },
{ name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
]
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
],
height: 200,
width: 400,
renderTo: Ext.getBody(),
// START added code
initComponent: function () {
this.callParent();
}
// END added code
});
正如您所看到的,我添加了.initComponent()
配置,并调用了this.callParent()
,如文档中所述。我假设这将工作,并且与没有代码相同,因为initComponent
被描述为模板方法,唯一的要求是调用this.callParent()
。
我想知道什么可能是失踪的,因为面板是不是在视图中正确渲染。
我也尝试过使用下面的was传递参数,但没有成功:this.callParent.apply(this, arguments);
this.callParent(arguments);
1条答案
按热度按时间1l5u6lss1#
在定义组件时需要定义
initComponent
方法。如果在创建组件示例时内联重写该方法,则不会调用initComponent
方法。更多信息-https://docs-devel.sencha.com/extjs/7.6.0/classic/Ext.Component.html#method-initComponent
以下是如何重构代码:
在此处定义您的组件
并使用如下组件:
它将在控制台中记录“Hi”。