0

すべての状態が定義されているビューがあります。

<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' を含めたいと考えています。

  1. 「カスタム」状態グループに新しい値をプッシュして「カスタム」状態を変更しましたが、うまくいきません。

  2. 「カスタム」状態を次のように置き換えました。

    this.states[1] = new State({name: 'custom', stateGroups:['state1']});

ビューをイントロスペクトした後、「カスタム」状態の stateGroup プロパティに「state1」が含まれていることがわかりました。

ここで問題が発生します。「カスタム」状態に切り替えると、最初のラベルには、予想される「項目 1」ではなく「カスタム」が表示されます。「custom」に「state1」を追加して再コンパイルすると、正常に動作します。

ビューに状態を再読み取りさせ、ビューを正しく描画させるためのヒントはありますか?

ありがとう、マイケル

4

0 に答える 0