刷新Flex组件

时间:2011-07-14 22:56:46

标签: flex actionscript-3 actionscript flash-builder mxml

有没有办法将组件或应用程序刷新回其初始状态?我有一个手风琴导航器,即使我退出也会保留在最近选择的索引上。现在,我的注销功能将我带回状态(1)的登录页面。如果我重新登录并进入手风琴,它就在我查看过的最后一个标签上。

我希望能够清除导航中控件的任何数据,并将导航重置为默认值。我想的是,

public function logout():void{
  currentState = "NotLoggedIn"
  myAccordion.initialize(); }

会起作用但没有任何反应。这是在Flex 4中完成的。

我知道我可以单独清理每个控件并将手风琴的selectedIndex设置为0.我希望能有一个更简单的解决方案。

1 个答案:

答案 0 :(得分:2)

这取决于你所说的“国家”。

如果您已在Flex Component中实现状态,则可以使用以下命令恢复到以前的状态:

component.currentState = 'myInitialState';

如果您没有明确地谈论状态,而是关于组件属性的内部值,那么Flex不会保留这些属性值的历史记录。您可以自己跟踪它们并手动重置它们。

一旦这样做,您的组件将有效地处于初始状态。