Сочетание IronPages и PaperTabs UiBinder с динамически создаваемыми детьми исчезает при многократном использовании

Я использую версию 2.8.2 GWT вместе с версией 1.7.0.0 gwt- Polymer-elements для создания своего приложения. Мне нужны вкладки с переключаемым содержимым, которые могут появляться несколько раз на одной странице. Я пытаюсь добиться этого, используя комбинацию PaperTabs и IronPages.

Я добавил пользовательский UiBinder.

<i:IronPages ui:field="ironPages"></i:IronPages>    
<p:PaperTabs ui:field="paperTabs" scrollable="true"></p:PaperTabs>

Я динамически добавляю div к ironPages:

Заменены ironPages.add(new HTML("<div>" + outerBox + "</div>")); с:

SafeHtmlBuilder outerBoxBuilder = new SafeHtmlBuilder();

outerBoxBuilder.appendHtmlConstant("<div>")
.append(SafeHtmlUtils.fromTrustedString(outerBox.toString()))
.appendHtmlConstant("</div>");

ironPages.add(new HTML(outerBoxBuilder.toSafeHtml()));

Где каждый externalBox определен ниже:

for(int i: total){
    PaperMaterial outerBox = new PaperMaterial();
    HTML boxTitle = new HTML("<h2>Some title</h2>");
    outerBox.add(boxTitle);

    PaperMaterial innerBox = new PaperMaterial();
    PaperCheckbox checkBox = new PaperCheckbox();
    // checkBox.getElement().setInnerText("label");
    checkBox.getElement().setInnerSafeHtml(
        new SafeHtmlBuilder().appendEscaped("label").toSafeHtml()
    );

    innerBox.add(checkBox);
    outerBox.add(innerBox);
}

Новые бумажные вкладки создаются аналогично:

PaperTab singleTab = new PaperTab();
// singleTab.getElement().setInnerHTML("some text");
singleTab.getElement().setInnerSafeHtml(
    new SafeHtmlBuilder().appendEscaped("some text").toSafeHtml()
);
singleTab.getElement().setAttribute("q", pageNumber);
paperTabs.add(singleTab);

UiHandler

@UiHandler("paperTabs")
void tabSelected(IronSelectEvent event) {
    PaperTabElement tab = Js.cast(event.getItem());
    ironPages.setSelected(tab.getAttribute("q"));
}

Работает, когда страница загружается впервые. При переходе между разными страницами составной виджет теряет свою функциональность. При нажатии на paperTab или флажок в IronPages они просто исчезают. Похоже, что виджеты очищаются и теряют все дочерние элементы.

У кого-нибудь есть предложения? Есть что-то, по чему я скучаю?

0 ответов

Другие вопросы по тегам