Я безуспешно пытаюсь использовать компонент PrimeNg TabView вместе с confirmDialog, вот мой код:
<p-tabView (onChange) = "onTabChange($event)" [(activeIndex)] = "index">...</p-tabView>
onTabChange(event){
this.confirmationService.confirm({
message: 'Do you confirm ?',
accept: () => {
this.index = event.index;
},
reject:() =>{ }
});
}
Есть ли у вас идеи о том, как предотвратить или разрешить смену вкладок с помощью диалогового окна подтверждения?
Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Основываясь на аналогичном решение для вкладок дизайна материалов, вот решение моей проблемы:
в HTML объявите локальную переменную, ссылающуюся на объект TabView DOM:
<p-tabView #onglets>...</p-tabView>
в компонент.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);
});
}
любые аргументы, которые вам нужно передать
Отлично. Большое спасибо.
какой здесь список аргументов?