Как правильно отобразить AjaxFormLoop? - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть файл TML с ajaxformloop.В этом цикле у меня есть пользовательский флажок и поле выбора.В зависимости от комбинации значений всех полей выбора и всех пользовательских флажков, я хочу изменить значение некоторых из моих флажков.Это работает, но когда я рендерил свою зону вокруг всего ajaxformloop, я не могу больше добавлять или удалять строки.

Я уже пытался использовать только зону вокруг своего флажка, но когда я рендерил эту зону, некоторые измои флажки меняют свое значение, хотя они не меняются в моем коде.

В этом вопросе описана похожая проблема: Строки AjaxFormLoop Tapestry, влияющие на значения друг друга, почему? К сожалению, без ответапока что.

Мой tml-файл выглядит примерно так:

<t:zone t:id="Testzone" id="Testzone">
<div t:id="testLoop">
    <div class="row">
        <div class="col-sm-3">
            <t:input t:id="testCheckbox"/>
        </div>      
        <div class="col-sm-9">
            <div class="input-group form-group test-loop-entry">
                <t:select t:id="artField" t:zone="^" />
                <t:textfield t:id="valueField" />
                <span class="input-group-addon">
                    <div>
                        <t:removerowlink class="btn btn-danger"
                            title="Löschen">
                        </t:removerowlink>
                    </div>
                </span>
            </div>
        </div>
    </div>
    <p:addRow>
        <div class="col-sm-4 col-lg-2">
            <t:addrowlink class="btn btn-default"
                title="Hinzufügen">
            </t:addrowlink>
        </div>
    </p:addRow> 
</div>

И в моем методе onChange я добавил следующую строку:

 ajaxResponseRenderer.addRender(testzone);

Без addRender-Line мои addRowLink и deleteRowLink работают как положено.Но с addRender-Line события в моем контроллере не запускаются.

В этом посте в первом ответе говорится, что у гобелена есть проблемы с обновлением компонента, который занят обновлением другого компонента: Tapestry5 Ajaxformloopограничить количество строк

Я думаю, что это может быть моей проблемой, но я не знаю, как обойти эту проблему.

...