ExtJS FormPanel отображается только на панели при первом выборе - PullRequest
1 голос
/ 19 февраля 2011

Мои панели форм должны отображаться на основе выбора в древовидной структуре XML. Тем не менее, моя панель форм для определенного узла отображается только в первый раз. Когда я изменяю выделение на что-то другое и возвращаюсь к исходному выделению, панель формы не перерисовывается.

Рендеринг корректно основывался на выделении ранее, когда у меня был простой Ext.Template, и я сделал

var temp = Ext.getCmp ('панель данных'). Body;

, а затем

(имя Ext.Template) .overwrite (temp, node.attributes).

Когда я изменил эту строку перезаписи на

(имя панели форм) .render (temp), работает только в первый раз.

Есть идеи, что мне не хватает? Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 февраля 2011

Я не уверен, что понимаю. У меня в основном есть

    tp.getSelectionModel().on('selectionchange', function(tree, node){
          var el = Ext.getCmp('temp-panel').body;
          el.update("");
           if(node && node.....){
                myForm.render(el);
           }

Я хочу, чтобы различные панели форм отображались в зависимости от того, на каком узле я нажимаю. Поэтому в блоке if (node ​​&& ...) мне нужно каждый раз отображать определенную форпанель каждый раз, когда я переключаю свой выбор на этот узел. Прямо сейчас это происходит только в первый раз. Будет ли вызов myForm.doLayout () решить эту проблему?

0 голосов
/ 19 февраля 2011

Компонент рендерится только один раз в ExtJS, после этого вам необходимо использовать doLayout () после добавления и удаления дочерних компонентов.

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