extjs每個組件要設置唯一的ID,否則會造成各種錯誤
EXTJS基本上是靠ID來識別組件的,假如你在panel1中有個ID:"keyword"的textfield,而panel2中有個ID相同的textfield ,那么,當你關閉panel2,由于extjs發現panel2中的ID:"keyword"組件在panel1中仍然使用中,是不會銷毀掉它的,于是它成為一個孤立的對象,從而造成混亂。
無論如何,你得時刻記著,任何時候,必須確保對象ID是唯一的。這有兩個做法:
1,不給對象指定ID,然后使用組件的find方法通過其他屬性來查找對象,例如find("name","role"),結果產生一個array,當然,你的屬性是唯一的,那你就可以用find("name","role")[0]這種形式引用組件。
2,你也可以用父組件ID+子組件ID的形式來指定子組件,這個方法更好,并且extjs內部就是這么做,子組件的ID變成了:this.id+"_role",注意,這里的this是指父組件。在實例時,由于父組件的ID指定的一定是唯一的,所以,即便實例了兩次同一個組件,兩個實例的子組件卻擁有唯一ID。從而可以很好的處理ID重復問題
新聞熱點
疑難解答
圖片精選