当没有child面板时关闭整个tabpanel
Close the whole tabpanel when there are no child panel
我有一个标签面板并且有很多孩子。每个都是可关闭的。当没有 children.
时,我想删除 tabpanel 本身
listeners: {
close: function(element) {
var detailTabPanel = element.up('DetailTabPanel');
if(detailTabPanel.items.length <= 1)
{
detailTabPanel.destroy();
}
}
}
我已经为关闭操作编写了类似上面的代码。但我收到类似
的错误
Uncaught TypeError: Cannot read property 'get' of null DetailTabPanel is the tabpanel.
您使用了错误的事件。您不想监听子项的 close
事件(在从面板中删除选项卡后调用),而是想监听选项卡面板本身的 remove
事件。
快到了!像这样尝试:
listeners: {
remove: function(tabpanel, child, eOpts) {
if (tabpanel.items.length === 0) {
tabpanel.destroy();
}
}
}
请参阅此处 Fiddle:https://fiddle.sencha.com/#fiddle/1fo2
您不必在侦听器中执行 callParent
。
我有一个标签面板并且有很多孩子。每个都是可关闭的。当没有 children.
时,我想删除 tabpanel 本身listeners: {
close: function(element) {
var detailTabPanel = element.up('DetailTabPanel');
if(detailTabPanel.items.length <= 1)
{
detailTabPanel.destroy();
}
}
}
我已经为关闭操作编写了类似上面的代码。但我收到类似
的错误Uncaught TypeError: Cannot read property 'get' of null DetailTabPanel is the tabpanel.
您使用了错误的事件。您不想监听子项的 close
事件(在从面板中删除选项卡后调用),而是想监听选项卡面板本身的 remove
事件。
快到了!像这样尝试:
listeners: {
remove: function(tabpanel, child, eOpts) {
if (tabpanel.items.length === 0) {
tabpanel.destroy();
}
}
}
请参阅此处 Fiddle:https://fiddle.sencha.com/#fiddle/1fo2
您不必在侦听器中执行 callParent
。