我有一个充当网格容器的 View 。 该 View 拥有一个 tbar 和一个 header。
当我添加模式窗口时,标题和 tbar 不会被屏蔽。
主视图:
Ext.define('myApp.view.customer.MyMain', {
extend: 'Ext.panel.Panel',
xtype: 'hlx-customermain',
controller: 'maintoolbar',
plugins: 'viewport',
header: {
xtype: 'myheader'
},
tbar: {
xtype: 'mytoolbar'
},
items: [
{
xtype: 'mygrid'
}
]
});
网格(使用 Controller 添加窗口)
Ext.define('myApp.view.customer.MyGrid', {
extend: 'Ext.grid.Panel',
xtype: 'mygrid',
tbar: {
xtype: 'mygridtoolbar'
},
controller: 'mygrid',
store: 'MyGridStore',
columns: [
...
]
});
ViewController 中的函数
onCustomerAddClick: function () {
var me = this,
addCustomerWindow = me.lookupReference('addCustomerWindow');
if (!addCustomerWindow) {
addCustomerWindow = new myApp.view.customer.AddCustomer();
me.getView().ownerCt.add(addCustomerWindow);
}
addCustomerWindow.show();
}
即使很困难,我也将它添加到ownerContainer - 这是MyMain 类 - tbar 和标题没有被屏蔽。 请参阅此 fiddle 来亲自体验错误:https://fiddle.sencha.com/#fiddle/uih
最佳答案
您不必将其添加到其所有者或其他任何位置。只需这样做:
onAddCustomerClick: function () {
/*var me = this,
myWindow = me.lookupReference('myWindow');
if (!myWindow) {
myWindow = new MyWindow();
me.getView().ownerCt.add(myWindow);
}
myWindow.show();*/
var myWindow = Ext.create('MyWindow');
myWindow.show();
}
关于javascript - Extjs 6 : Adding modal window doesn't mask tbar and header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818770/