ExtJS — добавить компонент внизу

Итак, я хочу добавить компонент в нижнюю часть панели. Обычно вы просто делаете следующее:

Ext.getCmp('xxxx').add({....});

и то добавит в низ, но почему-то при добавлении itemId все идет к черту. Вот рабочий пример: http://jsfiddle.net/Qsfgh/ Обратите внимание, как появляется более высокий идентификатор перед нижним. (Вы можете открыть консоль и посмотреть HTML-код, если хотите проверить). Даже когда я использую «вставку» и вставляю ее в самый конец, она все равно помещается в начало. Как мне это обойти?


person Aram Papazian    schedule 27.06.2013    source источник
comment
В вашей скрипке я сначала вижу фамилию 1, а потом фамилию 2. То есть в том порядке, в котором вы их добавили. Как и ожидалось. Идентификаторы DOM действительно находятся в обратном порядке, но... Какое вам дело?   -  person rixo    schedule 28.06.2013
comment
Потому что, когда вы нажимаете клавишу «tab», вы переходите от фамилии 2 к фамилии 1 (да, я могу изменить индекс вкладки, но у меня одновременно создается 20 входов... кажется, должен быть лучший способ)   -  person Aram Papazian    schedule 28.06.2013
comment
Кроме того, «порядок», в котором я их добавил, не будет иметь значения для отображения, поскольку они оба расположены абсолютно. Но они будут иметь значение для HTML, в котором суть проблемы =)   -  person Aram Papazian    schedule 29.06.2013


Ответы (1)


Оба поля, которые вы добавляете, имеют одинаковые itemId. Идентификаторы ItemId не обязательно должны быть глобально уникальными, но они должны быть уникальными для компонентов в одном контейнере. itemId используется в качестве ключа для компонента в смешанной коллекции элементов контейнера-владельца (если для компонента не задан itemId, вместо него используется идентификатор).

Поэтому, когда вы добавляете второе поле, оно заменяет первое поле в наборе элементов контейнера и портит процесс рендеринга. Дайте полям разные itemId, и все будет работать правильно.

Если вы дадите каждому полю уникальный itemId, вам больше не нужно абсолютно позиционировать поля. Поле 2 будет правильно размещено под полем 1.

person wantok    schedule 28.06.2013