Extjs добавить div в окно - PullRequest
       16

Extjs добавить div в окно

0 голосов
/ 07 марта 2011

Я хотел бы добавить новый тег div, нажав кнопку, но он не работает. У меня есть веб-рабочий стол из extjs и два модуля. Одно окно, похожее на следующий код, с 1 div [20,20]. И второе окно с кнопкой и обработчиком для добавления нового тега div в первом окне. Но это не работает.

            win = desktop.createWindow({
            id: 'firstwindow',
            title: 'firstwindow',
            width: 421,
            height: 391,
            divs: [{
                x: 20,
                y: 20
            }],

и т. Д. *

и вот код для добавления div в первом окне, нажав кнопку во втором окне

                handler: function(){
                    if (Ext.getCmp('firstwindow')) {

                        Ext.getCmp('firstwindow').add({
                            divs: [{
                                x: 20,
                                y: 40
                            }] 
                        })
                        Ext.getCmp('firstwindow').render();
                        console.log(Ext.getCmp('firstwindow'));
                    }
                }

Заранее спасибо, веселит, Томас

Ответы [ 2 ]

1 голос
/ 07 марта 2011

Используемый вами метод add используется для добавления компонента ExtJs в контейнер (в вашем случае это Window).Вы не можете создать тег DIV, используя метод add.

В ExtJS вы можете создать компонент и добавить его в контейнер.Если вам нужно изменить DOM, вам придется обновить свойство el.По умолчанию в ExtJS это тег DIV.Вы можете переопределить это с помощью конфигурации autoEl.

Возможное решение:

Теперь, если вы хотите многократно создавать тег DIV с некоторым содержимым и динамически отображать его, вы можете воспользоваться помощьюDataView.Создайте шаблон с вашим DIV и его дочерним элементом. Загрузите данные в хранилище и, наконец, отобразите их или обновите DataView в вашем окне.

0 голосов
/ 07 марта 2011

Я думаю, что вы должны использовать Ext.getCmp ('firstwindow'). DoLayout () вместо Ext.getCmp ('firstwindow'). Render ()

...