2010-06-29 2 views
4

Flex 4 및 Flash Builder 4를 사용하고 있습니다. 구성 요소를 만드는 방법을 배우고 싶습니다. MXML 컴퍼넌트 다음 내 응용 프로그램에 포함 같이플렉스 사용자 정의 구성 요소는 스크립트를 허용하지 않습니다 : 'String'유형의 'text'기본 속성에 대한 여러 이니셜 라이저 값

나는 FX 꺼내 경우
<?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> 

: 그것이 작동하는 스크립트 태그를하지만, 최대한 빨리 해당 태그를 가지고 (에 관계없이 실제 코드가 있는지 여부) 오류가 발생합니다 : "Flex 사용자 지정 구성 요소는 스크립트를 허용하지 않습니다 : 'String'유형의 'text'기본 속성에 대한 여러 이니셜 라이저 값."

왜 그런가요? 스크립트가 구성 요소에서 허용되지 않습니까?

답변

10

이 알려진 버그 SDK-25184입니다. Milestone은 다음 Flex SDK Hero 릴리즈입니다. 텍스트 속성을 명시 적으로 설정하면 여전히 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> 

감사합니다.

+0

감사합니다. 새 SDK 릴리스에 대한 모든 업데이트? – Dave

2

TextInputButton으로 변경하면 문제가 없습니다.

TextInputtext 속성의 값으로 Script을 처리합니다. 나는 그것이 컴파일러 버그라고 생각한다. 이 약

+0

아, 그래. 또한 fx : Declarations에 대한 에러도 제공합니다. – Fletch

2

또 다른 방법은 MXML보다는 ActionScript를 사용하여의 TextInput을 확장하는 것입니다

package 
{ 
    import spark.components.TextInput; 

    public class TestTextInput extends TextInput 
    { 
     public function TestTextInput() 
     { 
      super(); 
     } 
    } 
} 
관련 문제