我有一个定义所有状态的视图:
<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
这是意料之中的。现在,我想更改“自定义”状态,使其包含 stateGroup 'state1'。
我通过将新值推送到“自定义”状态组来更改“自定义”状态,但这不起作用,所以......
我已经替换了“自定义”状态:
this.states[1] = new State({name: 'custom', stateGroups:['state1']});
反省视图后,我看到“自定义”状态现在在 stateGroup 属性中有一个“状态 1”。
这就是问题所在,当切换到“自定义”状态时,第一个标签仍然显示“自定义”,而不是预期的“项目 1”。如果我将 'state1' 添加到 'custom' 并重新编译,它工作正常。
那么有没有人有关于强制视图重新读取状态并正确绘制视图的提示?
谢谢,迈克尔