我有一个tabpanel,有很多孩子。每个都可以关闭。我想在没有孩子时删除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.
答案 0 :(得分:1)
几乎就在那里!试试这样:
listeners: {
remove: function(tabpanel, child, eOpts) {
if (tabpanel.items.length === 0) {
tabpanel.destroy();
}
}
}
请参阅此处的小提琴:https://fiddle.sencha.com/#fiddle/1fo2
你不必在听众中做callParent
。
答案 1 :(得分:0)
你正在使用错误的事件。您不想监听子项的close
事件(在从面板中删除选项卡后调用),而是要在选项卡面板上监听remove
事件。