всплывающее окно с петрушкой, отображающее 2 всплывающих окна

У меня есть всплывающее окно петрушки, которое может создать другое всплывающее окно.

Проблема возникает, когда я закрываю корневое всплывающее окно, когда я снова открываю всплывающее окно и нажимаю на дочернее всплывающее окно, оно фактически открывает 2 дочерних всплывающих окна.

Любая идея, почему это происходит?

Я уже сделал повторное использование = 'false' и модальное = '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>

Дочерний элемент ( ScenarioView )

<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>

person Rudy    schedule 07.07.2011    source источник
comment
Разве вы не хотели бы использовать reuse=true? Кроме того, где код, который открывает второе всплывающее окно? Велика вероятность, что вы не чистите его.   -  person J_A_X    schedule 08.07.2011
comment
Я добавил дочерний код. Я решил использовать повторное использование = false, потому что я хочу каждый раз кодировать новый экземпляр (и мне не нужно обрабатывать проблему с состоянием)   -  person Rudy    schedule 08.07.2011
comment
отладить трассировку systemManager.popUpChildren корня после создания дочерних элементов.   -  person Nate    schedule 08.07.2011
comment
Я изменил reuse='true' (как root, так и дочерний), и теперь он работает нормально. У меня даже нет государственной проблемы, которой я боялся. Но я до сих пор не понимаю, что на самом деле здесь произошло.   -  person Rudy    schedule 08.07.2011
comment
Привет, J_A_X, пожалуйста, ответь, чтобы я мог принять твой ответ.   -  person Rudy    schedule 08.07.2011
comment
повторное использование предотвратило ошибку наследования с вашим кодом состояния.   -  person J_A_X    schedule 08.07.2011


Ответы (1)


Я считаю, что проблема здесь в том, что когда вы закрываете свое всплывающее окно, вы не устанавливаете для открытого связанного свойства значение false. Я думаю, что есть наследственная проблема с состоянием вашей системы при повторном открытии.

Кроме того, вероятно, не создавать такие "иерархические" всплывающие окна. Это плохой UX для начала, и ваши всплывающие окна будут работать неправильно. Во всяком случае, поместите все объявления всплывающих окон в свой корень и привяжите их к свойству open.

person J_A_X    schedule 08.07.2011