2012-02-06 28 views
7

Làm cách nào để tìm một đứa trẻ (mục) tồn tại trong bảng điều khiển bằng cách sử dụng id của đứa trẻ.Cách tìm kiếm một đứa trẻ trong một bảng điều khiển ở ExtJs

Giả sử tôi có một phụ huynh bị pan (id = parentPanel) và một vài bảng làm mục của bảng điều khiển chính này. Bây giờ, tôi muốn tìm kiếm nếu một bảng theo id 'childPanel09' là con của bảng điều khiển chính.

[Có thể không sử dụng lặp đi lặp lại]

Lưu ý: Tôi đang sử dụng ExtJs 3.4

Trả lời

11

Nếu bạn chỉ muốn tìm kiếm trong số Childs trực tiếp của parentPanel bạn có thể sử dụng getComponent:

var childPanel = Ext.getCmp('parentPanel').getComponent('childPanel09'); 
if (childPanel) { 
    alert('yes. child exists'); 
} 

Nếu bạn muốn tìm kiếm không chỉ trong số các con trực tiếp mà còn ở bất kỳ lớp nào trong parentPanel, bạn có thể sử dụng find:

var childPanel = Ext.getCmp('parentPanel').find('id', 'childPanel09')[0]; // [0] because find returns array 
if (childPanel) { 
    alert('yes. child exists'); 
} 
+0

Cảm ơn người đàn ông. Mặc dù vấn đề của tôi hơi khác một chút, nhưng câu trả lời của bạn đã giải quyết được vấn đề. –

2

Ext.Container.find() (từ câu trả lời được chấp nhận) là phạt as of ExtJS 3.4 (câu hỏi được hỏi về điều gì). Tuy nhiên, trong ExtJS 4.0 trở lên, find() đã bị xóa vì lợi ích của Ext.Container.query(), hoàn thành điều tương tự.

Các vấn đề liên quan