Apache flex Flex自定义组件没有';t接受脚本:默认属性的多个初始值设定项值&x27;文本';,类型为';字符串';
我使用的是Flex 4和Flash Builder 4。我只想学习创建组件,我创建了一个mxml组件,如下所示,并将其包含在我的应用程序中:Apache flex Flex自定义组件没有';t接受脚本:默认属性的多个初始值设定项值&x27;文本';,类型为';字符串';,apache-flex,flex4,Apache Flex,Flex4,我使用的是Flex 4和Flash Builder 4。我只想学习创建组件,我创建了一个mxml组件,如下所示,并将其包含在我的应用程序中: <?xml version="1.0" encoding="utf-8"?> <s:TextInput xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns
<?xml version="1.0" encoding="utf-8"?>
<s:TextInput xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
</fx:Script>
</s:TextInput>
如果我去掉fx:Script标记,它就会工作,但一旦我有了这些标记(不管是否有任何实际代码在其中),我就会得到错误:“Flex自定义组件不接受脚本:默认属性的多个初始值设定项值,‘text’,类型‘String’。”
为什么会这样?组件中不允许使用脚本吗?如果将
TextInput
更改为按钮
就可以了
问题是
TextInput
将Script
视为text
属性的值。我认为这是一个编译器错误。另一种解决方法是使用actionscript而不是mxml扩展TextInput:
package
{
import spark.components.TextInput;
public class TestTextInput extends TextInput
{
public function TestTextInput()
{
super();
}
}
}
这是一个已知的错误。里程碑是下一个FlexSDK英雄版本。如果显式设置text属性,仍然可以使用mxml
<?xml version="1.0" encoding="utf-8"?>
<s:TextInput xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
text="">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:TextInput>
谢谢。啊,好的。顺便说一下,它还为fx:Declarations提供了错误。