Установить / сохранить предыдущий scrollHeight на шаблоне усов после повторного рендеринга - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть модал, который отображается из шаблона усов, который включает в себя следующий шаблон HTML:

<div class="tab-content flex-full p-0 item-selector-content">
    <ul class="list-group with-check item-list flex-full" style="overflow-x:hidden;overflow-y:scroll;">
        {{#getCurrentPageData}}
        {{>menuChildModel}}
        {{/getCurrentPageData}}
    </ul>
    {{>pagination}}
</div>

, где menuChildModel определено как следующий частичный шаблон:

<script type=text/template id=menu-child-template>
    <li class="list-group-item {{#IsSelectedOnModal}}active{{/IsSelectedOnModal}}" style="display:none;border: 0px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);padding-top: 0 !important; padding-bottom: 0 !important" data-model='{{.}}'>
        <label for=menu-child-model-{{Id}} style="display:block;margin-bottom: 0;padding-top: 0.75rem; padding-bottom: 0.75rem">
            {{#DisplayNames}}{{0}}{{/DisplayNames}}
            <span class="custom-category-control" style="position:absolute;right:55px;top:-5px;"></span>
            <label class="custom-control custom-checkbox mb-2 mr-sm-2 mb-sm-0" style="right:5px;">
                <input id=menu-child-model-{{Id}} type="checkbox" class="custom-control-input" {{#IsSelectedOnModal}}checked{{/IsSelectedOnModal}}>
                <span class="custom-control-indicator"></span>
            </label>
        </label>
    </li>
</script>

и контроллер разбиения на страницы, который обрабатывает все события в этом режиме (включая элементы управления разбиением на страницы и фильтрацию).Я регистрирую функцию прослушивателя событий change, которая при вызове (изменяя состояние флажка на .list-group-item, устанавливает свойство IsSelectedOnModal данных, использованных для ее визуализации, а затем повторно отображает модальное содержимоеиз шаблона.

Проблема

Эффект таков, что всякий раз, когда я выбираю .list-group-item, просто нажимая на него, я берусь полностьювернуться к вершине контейнера прокрутки. Есть ли какой-либо чистый способ каким-либо образом сохранить scrollHeight или сообщить шаблону предыдущее значение scrollHeight? Я пытаюсь сохранить разделение проблем и шаблон проектирования MVC, так многонасколько возможно, не в состоянии использовать фактическую структуру JS.

...