2015-06-19 82 views
1

我想要做的是動態地添加容器到面板上點擊按鈕。容器的Extjs 5.1動態添加容器到面板

1實例被添加,並且可以在panel.items.length

第二個實例起panel.items.length不會改變可以看出。但面板可以在dom和屏幕上看到。

只是想知道爲什麼panel.items.length沒有增加。這是一個錯誤嗎?

的Fiddler鏈路https://fiddle.sencha.com/#fiddle/p3u

檢查的行:

的console.log(qitems);

下面的調試器;它設置爲我正在討論的questionsblock.items.length。

+1

建議你閱讀'renderTo'的文檔。 「如果Component是Container的子項,請不要使用此選項,Container的佈局管理器負責渲染和管理其子項。」 –

回答

1

從QuestionTemplate中刪除itemId,並從新實例中刪除renderTo。

你的點擊處理程序應該是這樣的:

listeners: { 
    'click': function(button) { 
     var questionPanel = button.up('form').down('#questionsblock'), 
      qitems = questionPanel.items.length, 
      questiontemplate = Ext.create('QuestionTemplate', { 
      qid: qitems, 
      questiontype: 'text' 
     }); 
     console.log(qitems); 
     questionPanel.add(questiontemplate); 
     questionPanel.doLayout(); 
    } 
} 

檢查此琴:https://fiddle.sencha.com/#fiddle/p47

+0

謝謝,您提供的解決方案確實解決了我的問題。再次感謝。 – nilesh