英文:
How can I remove an active tab in ExtJS when clicking on a delete button?
问题
如何移除添加的选项卡?
我想在单击删除按钮时移除活动选项卡。
var tabs = Ext.create('Ext.tab.Panel',{
items: [{
// id:0
title:'tab1',
html:'text to tab1'
},{
// id:2
title:'tab2',
html:'text to tab2'
}],
renderTo: Ext.getBody()
});
Ext.create('Ext.button.Button',{
text:'add',
style:{backgroundColor: 'green'},
handler: function(){
var tab = tabs.add({
// id: tabs.items[1].id + 1,
title: 'tab' + (tabs.items.length + 1),
html: 'new tab ' + (tabs.items.length + 1)
});
tabs.setActiveTab(tab);
},
renderTo:Ext.getBody()
});
Ext.create('Ext.button.Button', {
text:'del',
style:{backgroundColor:'red'},
handler: function(){
// ...
},
renderTo: Ext.getBody(),
})
根据我看到的解决方案:
我需要为每个选项卡动态分配一个ID,然后在事件处理程序中使用循环。
如果是这样,如何实现?
英文:
How to remove added tab?
I want to remove the active tab on click on delete.
var tabs = Ext.create('Ext.tab.Panel',{
items: [{
// id:0
title:'tab1',
html:'text to tab1'
},{
// id:2
title:'tab2',
html:'text to tab2'
}],
renderTo: Ext.getBody()
});
Ext.create('Ext.button.Button',{
text:'add',
style:{backgroundColor: 'green'},
handler: function(){
var tab = tabs.add({
// id: tabs.items[1].id + 1,
title: 'tab' + (tabs.items.length + 1),
html: 'new tab ' + (tabs.items.length + 1)
});
tabs.setActiveTab(tab);
},
renderTo:Ext.getBody()
});
Ext.create('Ext.button.Button', {
text:'del',
style:{backgroundColor:'red'},
handler: function(){
// ...
},
renderTo: Ext.getBody(),
})
As I see the solution:
I need to dynamically assign an id to each tab and then use a loop in the event handler.
If so, how to implement?
答案1
得分: 2
你可以通过tabPanel.getActiveTab()获取当前活动的选项卡,然后可以从tabPanel中移除它。tabPanel.remove(activeTab)。
我希望这个示例链接对你有所帮助 https://fiddle.sencha.com/#view/editor&fiddle/3o0f
英文:
you can get the active Tab by tabPanel.getActiveTab(), and then you can remove it from the tabPanel. tabPanel.remove(activeTab).
I hope this fiddle will help you https://fiddle.sencha.com/#view/editor&fiddle/3o0f
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论