fix(angular): select method now has correct types (#23953)

resolves #23952
This commit is contained in:
Liam DeBeasi
2021-09-22 08:51:33 -04:00
committed by GitHub
parent 00269941ca
commit 3c1be89112

View File

@ -87,8 +87,9 @@ export class IonTabs {
* to the default tabRootUrl
*/
@HostListener('ionTabButtonClick', ['$event'])
select(ev: CustomEvent) {
const tab = ev.detail.tab;
select(tabOrEvent: string | CustomEvent) {
const isTabString = typeof tabOrEvent === 'string';
const tab = (isTabString) ? tabOrEvent : (tabOrEvent as CustomEvent).detail.tab;
const alreadySelected = this.outlet.getActiveStackId() === tab;
const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;
@ -98,7 +99,9 @@ export class IonTabs {
* will respond to this event too, causing
* the app to get directed to the wrong place.
*/
ev.stopPropagation();
if (!isTabString) {
(tabOrEvent as CustomEvent).stopPropagation();
}
if (alreadySelected) {
const activeStackId = this.outlet.getActiveStackId();