2013-06-27 39 views
0

所以我想添加一個組件到面板的底部。通常你只會做到以下幾點:ExtJS - 在底部添加組件

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

,這將增加至底部,但由於某些原因,當您添加ITEMID這一切去地獄。下面是一個工作示例:http://jsfiddle.net/Qsfgh/請注意,「較高」的ID是在較低的ID之前出現的。 (如果你想驗證的話,你可以打開你的控制檯並查看HTML)即使當我使用'insert'並且我將它插入到最後時,它仍然將它放在開頭。我該如何解決這個問題?

+0

在您的小提琴中,我首先看到「姓氏1」,然後看到「姓氏2」。也就是說,按照您添加的順序。如預期。 DOM ID確實是相反的順序,但是...爲什麼你會在意? – rixo

+0

因爲當你點擊'tab'鍵時,你會從姓2到姓氏1(是的,我可以更改標籤索引,但是我一次創建20個輸入......似乎應該有更好的方法) –

+0

此外,我添加它們的'訂單'對於展示無關緊要,因爲它們都是絕對定位的。但它們對於HTML來說很重要,這是問題的癥結所在=) –

回答

1

兩個要添加的字段都有相同的itemId。 ItemIds不必是全局唯一的,但它們對於同一個容器內的組件必須是唯一的。使用itemId作爲擁有容器的混合項目集合中組件的鍵(如果組件上未設置itemId,則使用id代替)。

因此,當您添加第二個字段時,它會替換容器的項目集合中的第一個字段,並將渲染過程搞砸。給領域不同的itemIds,一切都會正常工作。

如果你給每個字段一個獨特的itemId你不再需要絕對地放置字段。字段2將正確放置在字段1下方