【问题标题】:parsley popup displaying 2 popup欧芹弹出窗口显示 2 个弹出窗口
【发布时间】:2011-07-07 10:43:17
【问题描述】:

我有一个 parsley 弹出窗口,可以创建另一个弹出窗口。

当我关闭根弹出窗口时出现问题,当我再次打开弹出窗口并单击子弹出窗口时,它实际上打开了 2 个子弹出窗口。

知道为什么会发生这种情况吗?

我已经为根弹出窗口和子弹出窗口设置了 reuse='false' 和 modal = 'true'。

    <parsley:PopUp open="{presenter.scenarioCreatePopup}" modal="true"  center="true" reuse="false" id="hem" >
        <views:ScenarioView width="100%" height="100%" id="scenarioView"/>
    </parsley:PopUp>
</fx:Declarations>

儿童(场景视图)

<fx:Declarations>

    <parsley:Configure />

    <parsley:PopUp open="{templatePresenter.showTemplatePopup}" modal="true" reuse="false" center="true">
        <views:TemplateView width="100%" height="100%" id="templateView"/>
    </parsley:PopUp>

    <parsley:PopUp open="{tpPresenter.portfolioCreatePopup}" modal="true" reuse="false" center="true">
        <views:PortfolioSetupTitleView id="portfolioSetupTitleView"/>
    </parsley:PopUp>

</fx:Declarations>

【问题讨论】:

  • 你不想做reuse=true吗?另外,打开第二个弹出窗口的代码在哪里?很有可能你没有清理它。
  • 我添加了子代码。我决定使用reuse=false,因为我想每次都编写代码来创建新实例(并且不需要处理状态问题)
  • 调试跟踪root的systemManager.popUpChildren创建后的children。
  • 我更改了reuse='true'(root 和child),现在它可以正常工作了。我什至没有我担心的国家问题。但我还是不明白这里到底发生了什么。
  • 您好 J_A_X 请回答,以便我接受您的回答。

标签: apache-flex flex4 parsley


【解决方案1】:

我认为这里的问题是,当您关闭弹出窗口时,您没有将 open 绑定属性设置为 false。我认为再次打开时系统的状态存在继承问题。

拥有这种“分层”弹出窗口也可能不是一个好主意。一开始是不好的用户体验,并且会让你的弹出窗口处于错误状态。如果有的话,将所有弹出声明放在您的根目录中并绑定到它们的 open 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多