首頁 >web前端 >js教程 >extjs每個元件要設定唯一的ID否則會出錯_extjs

extjs每個元件要設定唯一的ID否則會出錯_extjs

WBOY
WBOY原創
2016-05-16 16:44:301011瀏覽

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重複問題

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn