すべての状態が定義されているビューがあります。
<s:Group xmlns="...." currentState="default">
<s:states>
<s:State name="default" stateGroups="state1,state2" />
<s:State name="custom" />
</s:states>
<s:Label text="Custom" text.state1="Item 1" />
<s:Label text="Custom" text.state2="Item 2" />
</s:Group>
ビューが読み込まれると (currentState == 'default' で)、ラベルは次のように表示されます。
Item 1
Item 2
そして、「カスタム」に切り替えると:
Custom
Custom
これは予期されることです。ここで、'custom' 状態を変更して、stateGroup 'state1' を含めたいと考えています。
「カスタム」状態グループに新しい値をプッシュして「カスタム」状態を変更しましたが、うまくいきません。
「カスタム」状態を次のように置き換えました。
this.states[1] = new State({name: 'custom', stateGroups:['state1']});
ビューをイントロスペクトした後、「カスタム」状態の stateGroup プロパティに「state1」が含まれていることがわかりました。
ここで問題が発生します。「カスタム」状態に切り替えると、最初のラベルには、予想される「項目 1」ではなく「カスタム」が表示されます。「custom」に「state1」を追加して再コンパイルすると、正常に動作します。
ビューに状態を再読み取りさせ、ビューを正しく描画させるためのヒントはありますか?
ありがとう、マイケル