我想动态更新Extjs窗口bbar(工具栏),但我不知道应该如何使其工作,
示例代码:
var myWin = Ext.create('Ext.window.Window', {
modal: true,
layout: 'fit',
items: {
// panel
},
bbar: ['->', {
xtype: 'buttongroup',
items: [{
text: 'Cancel',
handler: function () {
invoicingWin.destroy();
}
}]
}, {
xtype: 'buttongroup',
items: [{
text: 'Continue',
handler: function () {
var test = new Ext.Toolbar({
dock: 'bottom',
items: ['->', { html: "Close"}]
});
// !! I want to replace this window bbar to test(toolbar)
} // btn handler
}]// items
}]
}).show();
有人知道,请帮助我。
谢谢!
答案 0 :(得分:2)
我认为这不是一个好的解决方案。但它会奏效。
var myWin = Ext.create('Ext.window.Window', {
modal: true,
layout: 'fit',
width:400,
height:400,
items: {
// panel
},
bbar: ['->', {
xtype: 'buttongroup',
items: [{
text: 'Cancel',
handler: function () {
invoicingWin.destroy();
}
}]
}, {
xtype: 'buttongroup',
items: [{
text: 'Continue',
handler: function () {
var test = new Ext.Toolbar({
dock: 'bottom',
items: ['->', { html: "Close"}]
});
myWin.removeDocked(myWin.down('toolbar'));
myWin.addDocked(test);
// !! I want to replace this window bbar to test(toolbar)
} // btn handler
}]// items
}]
}).show();
答案 1 :(得分:0)
IMO,ExtJS不期望更换面板的工具栏(以及面板的后代)。通常,工具栏将包含所需的项目列表,您只能隐藏/显示它们。
实际上,您仍然可以使用getDockedItems()
,getDockedComponent()
,addDocked()
,insertDocked()
,removeDocked()
来满足您的需求。