AngularJS Asyn c Fetch - несоответствие синхронизации во время связанного элемента пользовательского интерфейса (выбор календаря) Условие быстрой разбивки на страницы - PullRequest
0 голосов
/ 19 февраля 2020

Сценарий

Элементы моей страницы (Bootstrap Выбор календаря, jquery Выбор интерфейса) не отображаются правильно во время Быстрое разбиение на страницы - удерживая нажатой кнопку ввода после нажатия на следующую или предыдущую кнопку. Он демонстрирует странное поведение рендеринга, которое можно наблюдать при просмотре страницы. У меня пока нет минимального завершенного проверяемого примера MCVE, но у меня есть доступный URL ниже.

ПРИМЕЧАНИЕ. После освобождения ввода все ошибочные элементы устанавливаются в нормальное состояние и исчезают из стека. Как мне скрыть или, что еще лучше, устранить это полностью, полностью изолируя привязку пользовательского интерфейса к данным?

Пример, показывающий кнопку «Далее», нажатую кнопкой «Возврат каретки». enter image description here

Пример кода шаблона - DatePicker

<div class="td value">
                         <!--input type='text' id="schedule{event}}" class="datepicker-here" data-language='en' /-->         
                            <p class="input-group">           
                                <input ng-if="!(ctrl.lastEventIdSaved >= event - 1)" class="date-input" ng-disabled=" ctrl.disabled[event].value" />
                                  <input ng-change="ctrl.validateEvent(event);"  ng-if="ctrl.lastEventIdSaved >= event - 1" ng-disabled="ctrl.disabled[event].value" ng-model="ctrl.event[event].scheduledate" type="text" class="evt{{event}} schedule date-input" uib-datepicker-popup="M/dd/yyyy" is-open="ctrl.schedule[event].opened" datepicker-options="ctrl.event[event].scheduledateOptions" ng-required="true" close-text="Close" />
                                  <span class="input-group-btn">
                                    <button type="button" class="btn btn-secondary" ng-disabled="ctrl.disabled[event].value" ng-click="ctrl.openSchedule(event)">
                                      <i class="fa-svg-icon">
                                        <svg style="left: -11px; top: -8px" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/></svg>
                                      </i>
                                    </button>
                                  </span>
                                </p>
                        </div>

SampleTemplate Code - Выбор интерфейса пользователя

<div class="td value">
                                 <ui-select ng-change="ctrl.validateEvent(event)" ng-disabled="ctrl.disabled[event].value" ng-model="ctrl.event[event].eventownerid" theme="select2" ng-disabled="ctrl.disabled[event].value && event == ctrl.lastEventIdSaved" title="Choose a person">
                                    <ui-select-match placeholder="Select/Search User">{{$select.selected.name}}</ui-select-match>
                                    <ui-select-choices repeat="user.id as user in ctrl.users | propsFilter: {name: $select.search}">
                                      <div ng-bind-html="user.name | highlight: $select.search"></div>
                                    </ui-select-choices>
                                </ui-select>
                        </div>

URL

Перейдите к:

http://projectaim.ddns.net/#! / Risk / edit / 1

Refre sh страницы, если необходимо правильно отобразить страницу CSS.

Инструкции по репликации

Нажмите сначала, а затем нажмите Далее. Затем нажмите и удерживайте кнопку «Возврат каретки», чтобы быстро перемещаться и наблюдать, как элементы дублируются, а затем исчезают. Попробуйте и посмотрите.

Вопрос

Как мне устранить это нежелательное поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...