Как получить текущую страницу мастера ясности Vmware? - PullRequest
0 голосов
/ 10 февраля 2020

Мы используем мастер ясности VMware для динамического рендеринга страниц мастера, и нам нужен собственный лог c для доступа к текущему идентификатору страницы / идентификатору шага мастера для проверки и других функций.

При попытке чтобы получить доступ к странице мастера, используя pagesCollectionService и navService, мы впервые получаем идентификаторы правильно, например, clr-wizard-page-0, clr-wizard-page-1 и c. Но проблема заключается в щелчке по отмене / отправке из мастера, идентификаторы мастера не сбрасываются, то есть, когда мы снова открываем тот же мастер, идентификаторы страниц мастера продолжаются к предыдущим идентификаторам, например: clr-wizard-page- 4, clr-wizard-page-5 et c.

Есть ли способ, с помощью которого мы можем получить доступ к странице мастера, используя любое другое свойство. Примечание. Страницы мастера динамически отображаются с использованием json

Прикрепленное изображение: идентификаторы страниц, которые появляются при повторном открытии мастера введите описание изображения здесь

Добавление Для получения более подробной информации, пожалуйста, найдите ссылку на стек: https://clarity-light-theme-v013-phyhyk.stackblitz.io

Здесь мы отображаем страницы мастера, управляемые конфигурацией. Для каждой страницы мастера отображается angular dynamici * 1024. * формы, где config содержит всю информацию для полей формы. Поскольку вызывается внутри a для l oop, нам нужна функция, при которой при нажатии кнопки «Далее / Назад» или при щелчке по шагу мастера мы сможем проверить текущие поля формы и сохранить текущее значение поля формы. , Я добавил (clrWizardCurrentPageChanged) = "resetFormValidity ()" и при каждом изменении страницы я пытаюсь получить идентификатор страницы, используя wizard.currentPage.id, но идентификаторы не сбрасываются, и когда я получаю доступ несколько раз, я получаю инкрементные идентификаторы: clr-wizard-page-4, clr-wizard-page-5 и т. д. c. Мы используем следующие версии: "@ clr / angular": "0.11.30", "@ clr / icons": "0.11.30", "@ clr / ui": "0.11.30",

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

1 Ответ

0 голосов
/ 10 февраля 2020

Мастер имеет свойство под названием currentPage, которое сообщит вам текущую страницу. Методы publi c мастера находятся по адресу https://v2.clarity.design/wizards в разделе Wizard Deep Dive, что может заменить необходимость внедрять и использовать внутренние службы, которые не предназначены для непосредственного использования в приложениях. (из того, что я понял в вашем сообщении, очень помогло бы изолированное демо).

@ViewChild() wizard: ClrWizard;

get currentPage() {
  return this.wizard.currentPage;
}
...