ExtJS: обмен панелей внутри родительской панели - PullRequest
1 голос
/ 20 сентября 2010

Я пытаюсь вставить дочернюю панель B (позиция 1) перед дочерней панелью A (позиция 0) на родительской панели. Это работает нормально, но когда я снова вставляю панель B (теперь в позиции 0) после панели A (теперь в позиции 1), она не работает Любые предложения будут ценны. Ниже приведен фрагмент кода, который я использую.

......... .........

var items = parentPanel.items.items;

Элементы [1] .el.insertBefore (пункты [0] .el);

parentPanel.doLayout ();

..........................

var items = parentPanel.items.items;

Элементы [0] .el.insertAfter (пункты [1] .el);

parentPanel.doLayout ();

...........................

................

Спасибо MS

Ответы [ 2 ]

5 голосов
/ 01 октября 2010

Вы должны использовать родительский метод вставки панели вместо использования метода DOM для перемещения нижележащих элементов.

Например, чтобы вставить панель в положение 1 (панель B) передпанель в позиции 0 (панель А), вам нужно сделать это:

parentPanel.insert(0, parentPanel.getComponent(1));
1 голос
/ 20 сентября 2010

Массив items не изменяется.Поэтому items [0] всегда будет Panel A, items [1] всегда будет Panel B - даже если вы вручную перемещаете HTML-код вокруг родительского контейнера.

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