Это на самом деле не сработало, так как для этого требуется строка. Я попробовал это всеми возможными способами, я мог понять. До сих пор я пришел с этим очень уродливым решением: я добавил прослушиватель событий для изменений состояния checkint моего компонента основного уровня:
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="{onCreationComplete();}">
<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;
import mx.events.StateChangeEvent;
private function onCreationComplete():void {
FlexGlobals.topLevelApplication.addEventListener(StateChangeEvent.CURRENT_STATE_CHANGE, onStateChanged);
}
private function onStateChanged(event:StateChangeEvent):void {
currentState = event.newState;
}
]]>
</fx:Script>
<s:states>
<s:State name="default" />
<s:State name="login" />
</s:states>
<s:TextArea includeIn="login"/>
</s:Panel>
Пожалуйста, дайте мне знать, если есть лучшее решение. Кстати, у меня есть догадка, что атрибут basedOn компонента State - это путь. Но не знаю, какой формат он ожидает:
<s:State name="login" basedOn="???" />