PrimeNg TabView с ConfirmDialog - PullRequest
       25

PrimeNg TabView с ConfirmDialog

0 голосов
/ 29 января 2019

Я безуспешно пытаюсь использовать компонент PrimeNg TabView вместе с verifyDialog, вот мой код:

<p-tabView (onChange)="onTabChange($event)" [(activeIndex)]="index">...</p-tabView> 


  onTabChange(event){
    this.confirmationService.confirm({
      message: 'Do you confirm ?',
      accept:  () => {
      this.index = event.index;
      },
      reject:() =>{        }
      });
   }

У вас есть идея, как запретить или разрешить изменение вкладки с помощью диалогового окна подтверждения?

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

Основано на аналогичном решении для вкладок дизайна материала. Вот решение для моей проблемы:

  1. в html Объявление локальной переменнойссылка на объект DOM TabView:

    <p-tabView #onglets>...</p-tabView>

  2. в component.ts , изменить функцию по умолчанию, вызываемую при нажатии наВкладка со специальной функцией, соответствующей вашему случаю:

    @ViewChild('onglets') onglets: TabView; this.onglets.open = this.interceptOngletChange.bind(this); ... interceptOngletChange(event: Event, tab: TabPanel){ const result = confirm( Вы действительно хотите покинуть вкладку? ); return result && TabView.prototype.open.apply(this.onglets, argumentsList); }); }

...