Мне нравится отделять вкладку MessageBox до вкладки. Один MessageBox будет показан на одной отдельной вкладке и будет скрыт от всех других вкладок. Что теперь отображается как глобальное в приложении. Есть ли способ показать сообщение под каждой вкладкой (-ами) в приложении.Custome MessageBox под Tab (ы) ExtJs
ответ
Вы не можете использовать почтовый ящик с различным контентом на отдельных вкладках одновременно, в то время как ящик сообщений является одноэлементным, но вы можете создать свой собственный почтовый ящик, простирающийся от окна и отображающий каждый экземпляр на отдельную вкладку. Вот example с собственным окном, но он будет работать с расширенным компонентом.
Спасибо, это мне помогает. – Naeem
Вы не можете напрямую использовать Ext.window.MessageBox
, чтобы достичь того, чего хотите. С другой стороны, вы можете создать небольшой служебный класс, который расширяет Ext.window.Window
, со статической функцией, которая заставляет его отображаться с заголовком, сообщением и кнопками в качестве параметров и использовать опцию constrainTo
, чтобы сделать ее принадлежащей вашей вкладке.
Таким образом, у вас есть окно, которое может быть «в собственности» на вкладке вместо появления глобально
да его работы, как вы сказали. – Naeem
Здесь я создать функцию, чтобы показать сообщение в MessageBox. И я могу использовать его, что мне нужно.
ShowPrivateMessage: function(title, widthValue, heightValue, msgText, renderTabId){
Ext.create("Ext.window.Window",{
title : title,
width : widthValue,
height: heightValue,
html : '<span style="font-size: small">'+ msgText + '</span>',
renderTo: renderTabId,
resizable: false,
draggable: false,
bodyPadding: '10px',
listeners:{
afterrender: function(sender, eOpt){
var parentWindow = Ext.getCmp(renderTabId);
parentWindow.disable();
}
,close: {
fn:function(ctrl,opt){
var parentWindow = Ext.getCmp(renderTabId);
parentWindow.enable();
}
}
}
}).show();
}
Просьба предоставить код, который может охватывать ваш пример –