获取我的 tabpanel 组件,但无法使用 add 添加选项卡
Get my tabpanel component but cant use add to add a tab
我在视图中有一个选项卡面板 makemoney.js。我想在我的控制器 addtab.js 中编写代码。但是我在 chrome 控制台中遇到错误。
而且我发现 Ext.ComponentQuery.query('itemId')[0] return 类型是组件,但是 tabpanel 的添加方法必须使 container.add 是 container.is 它 cause.if 对,我可以更改什么
我的makemoney.js代码:
Ext.define('ylp2p.view.makemoney',{
extend: 'Ext.Panel',
xtype: 'makemoney',
requires: [
'Ext.Toolbar',
'Ext.tab.Panel'
],
config:{
layout: 'vbox',
items:[
{
xtype: 'toolbar',
docked: 'top',
title: '111'
},
{
xtype: 'tabpanel',//-----here is my tappanel
itemId: 'tabfirst',
flex: 1,
tabBar: {
layout: {
pack: 'center'
}
}
}
]
}
});
和我的控制器代码:
Ext.define('ylp2p.controller.addtab',{
extend: 'Ext.app.Controller',
launch: function(){
var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[0];
//i think i get the component alerdy
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container'
});
//and write a panel
moneytab.add([myPanel]);
//make the panel into the tap.i dont why it not work
}
});
我在 chrome 中的控制台出现错误:
Uncaught Error: [ERROR][Ext.Container#doAdd] Adding a card to a tab container without specifying any tab configuration
您的选择器不正确,这就是错误的原因。
var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[1];
moneytab = undefined;
改用这个:
var moneytab = Ext.ComponentQuery.query('tabpanel #tabfirst')[0];
它会起作用
var moneytab = Ext.ComponentQuery.query('makemoney #tabfirst')[0];
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container',
title: 'Yourtitle'
});
//and write a panel
moneytab.add(myPanel);
我在视图中有一个选项卡面板 makemoney.js。我想在我的控制器 addtab.js 中编写代码。但是我在 chrome 控制台中遇到错误。
而且我发现 Ext.ComponentQuery.query('itemId')[0] return 类型是组件,但是 tabpanel 的添加方法必须使 container.add 是 container.is 它 cause.if 对,我可以更改什么
我的makemoney.js代码:
Ext.define('ylp2p.view.makemoney',{
extend: 'Ext.Panel',
xtype: 'makemoney',
requires: [
'Ext.Toolbar',
'Ext.tab.Panel'
],
config:{
layout: 'vbox',
items:[
{
xtype: 'toolbar',
docked: 'top',
title: '111'
},
{
xtype: 'tabpanel',//-----here is my tappanel
itemId: 'tabfirst',
flex: 1,
tabBar: {
layout: {
pack: 'center'
}
}
}
]
}
});
和我的控制器代码:
Ext.define('ylp2p.controller.addtab',{
extend: 'Ext.app.Controller',
launch: function(){
var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[0];
//i think i get the component alerdy
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container'
});
//and write a panel
moneytab.add([myPanel]);
//make the panel into the tap.i dont why it not work
}
});
我在 chrome 中的控制台出现错误:
Uncaught Error: [ERROR][Ext.Container#doAdd] Adding a card to a tab container without specifying any tab configuration
您的选择器不正确,这就是错误的原因。
var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[1];
moneytab = undefined;
改用这个:
var moneytab = Ext.ComponentQuery.query('tabpanel #tabfirst')[0];
它会起作用
var moneytab = Ext.ComponentQuery.query('makemoney #tabfirst')[0];
var myPanel = Ext.create('Ext.Panel', {
html: 'This will be added to a Container',
title: 'Yourtitle'
});
//and write a panel
moneytab.add(myPanel);