Apache flex Flex4中的getChildren()
我在我的项目中有这个功能Apache flex Flex4中的getChildren(),apache-flex,flex4,flash-builder,Apache Flex,Flex4,Flash Builder,我在我的项目中有这个功能 public function changeFormItemsLabelWidth(form:Form, width:int):void { var formItemsArray:Array = form.getChildren(); for( var i:int = 0; i < formItemsArray.length; i++){ if(formItemsArray[i].className == "FormItem"){
public function changeFormItemsLabelWidth(form:Form, width:int):void
{
var formItemsArray:Array = form.getChildren();
for( var i:int = 0; i < formItemsArray.length; i++){
if(formItemsArray[i].className == "FormItem"){
var formItem:FormItem = formItemsArray[i] as FormItem;
formItem.setStyle("labelWidth", width);
}
}
公共函数changeFormItemsLabelWidth(form:form,width:int):void
{
var formItemsArray:Array=form.getChildren();
for(变量i:int=0;i
我得到一个错误:
1061:通过带有静态类型spark的引用调用可能未定义的方法getChildren。组件:表单。
有人能告诉我如何替换getchildren方法吗?因为我正在迁移到Flex4,而这个方法已经不存在了
编辑:
为了得到帮助,我做了一些类似的事情,效果很好
public function changeFormItemsLabelWidth(form:Form, width:int):void
{
var it:int = 0;
var n:int = form.numElements;
for (it; it < n; it++)
{
var formItemsArray:Array = form.getElementAt(it) as Array;
}
for( var i:int = 0; i < formItemsArray.length; i++){
if(formItemsArray[i].className == "FormItem"){
var formItem:FormItem = formItemsArray[i] as FormItem;
formItem.setStyle("labelWidth", width);
}
}
}
公共函数changeFormItemsLabelWidth(form:form,width:int):void
{
var-it:int=0;
变量n:int=form.numElements;
for(it;it
您需要使用form.numElements
并进行迭代。每个元素都可以通过form.getElementAt(迭代器)访问
我知道你没有问这个问题,我也不确定你在解决什么问题,但是你在标准生命周期函数之外操作表单大小的代码有点奇怪。这只是一个建议。我是新手。你能解释一下迭代吗?这只是一个循环的花哨词。请参阅以下示例: