我加上一個'特定條件'的請求。你提出反駁的事實是,你不能通過名稱訪問組件,所以我正在根據這個假設編寫其餘的內容。
要訪問組件的值並將該組件的參數傳遞給函數,您需要標識符或鏈接到該組件。如果使用組件名稱最簡單。但是,這並不總是可能的。例如,Flextras日曆組件創建並顯示月份的日期。根據顯示的月份,可能會有28,30或31天。以唯一的名稱訪問它們是不現實的。
這與ListBased類中的情況類似。在編譯時,您不會知道您一次會在屏幕上顯示多少個itemRenderer。
解決此問題的一種方法是獲取相關對象(dayRenderers,itemRenderers或您的情況TextInputs)的數組。在進行處理時,您可以遍歷數組並處理元素。事情是這樣的:
for (var x = 0; x<objectArray.length; x++){
foo(objectArray[x].text);
}
如果這是不可取的你,無論出於何種原因,你可以遍歷一個容器的孩子做這樣的事情:
for (var x = 0; x<container.numChildren; x++){
var object : Object = this.getChildat(x);
if(object is TextInput){ foo(object.text) }
}
功能,但它可以是有時有點乏味。這真的取決於你想要完成的事情。
我認爲你需要詳細說明你的意思是「某些條件」。這看起來像我會使用事件的類型,但我無法確定您的意思。 – Robusto 2010-06-24 18:07:34