Добавление или замена новой панели внутри окна в Ext JS - PullRequest
1 голос
/ 26 января 2011

Проблема уже решена, в любом случае, спасибо:)


У меня есть объект Ext.Window.что-то вроде:

var mypanel= new Ext.Panel({title:'Placeholder'});
var cwin = new Ext.Window({
    layout:'fit',
    width:screen.width-200,
    x:200,
    y:150,
    draggable: false,
    closable: false,
    resizable: false,
    plain: true,
    border: false,
    items: [mypanel]
});

Я пытаюсь заменить «mypanel» другим объектом Ext.Panel, когда пользователь запускает определенное событие.Поэтому я решил, что смогу удалить mypanel, а затем добавить новую панель.Я получил удаление работает.Однако добавление - это отдельная история, я пробовал вещи в направлении:

mypanel= new Ext.Panel({title:'my new Panel'});
cwin.add(mypanel); //dit nothing
cwin.items.add(mypanel); //dit nothing
cwin.insert(0,mypanel); //dit nothing
cwin.items.insert(0,mypanel); //dit nothing

Я буду рад любому ответу либо на замену существующей панели, либо на добавление новой панели.

Спасибо.

1 Ответ

3 голосов
/ 26 января 2011

После добавления элементов вы должны вызвать doLayout () для контейнера.

// remove actual contents
cwin.removeAll();
// add another panel
cwin.add( new Ext.Panel({title:'my new Panel',width:300,height:400}) )
// repaint with new contents
cwin.doLayout();

должен сделать трюк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...