I am using <kendo-tabstrip> and i have 10 tabs <kendo-tabstrip-tab> that should be loaded all of them when I enter the page. If i have only 3-5 tabs are loaded okay, but with 10, it loads only 5 and does not display the content of them at all and when i click on them it displays for each click the remaing tab and after 5 clicks I have all of the tabs with content loaded. I tried everything, ChanceDectorRef, but it still does not work.
I let the code bellow:
<kendo-tabstrip #tabstrip class="tabs-outside-section" (tabSelect)="onTabSelect($event)">
<kendo-tabstrip-tab
*ngFor="let tab of tabs; let i = index"
[title]="tab.title | translate"
[selected]="selectedIndex === i">
<ng-template kendoTabContent>
<ng-container *ngComponentOutlet="tab.component"></ng-container>
</ng-template>
</kendo-tabstrip-tab>
</kendo-tabstrip>
tabs = [
{ title: this.resourceCodes.common.generalDetails, component: Tab1Component },
{ title: this.resourceCodes.booking.common.reservations, component: Tab2Component },
{ title: this.resourceCodes.menu.vouchers, component: Tab3Component },
{ title: this.resourceCodes.menu.campaigns, component: Tab4Component },
{ title: this.resourceCodes.menu.messages, component: Tab5Component },
{ title: this.resourceCodes.menu.interactions, component: Tab6Component },
{ title: this.resourceCodes.document.documents, component: Tab7Component },
{ title: this.resourceCodes.menu.offers, component: Tab8Component },
{ title: this.resourceCodes.menu.surveys, component: Tab9Component },
{ title: this.resourceCodes.menu.reviews, component: Tab10Component },
];
constructor(
private router: Router,
userService: UserService,
private route: ActivatedRoute,
private cdr: ChangeDetectorRef
) {
this.authUserModel = userService.authUser;
this.currentUrl = this.router.url;
this.checkAndSetSelectedIndex(this.currentUrl);
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
if (this.currentUrl === event.urlAfterRedirects) {
// URL has not changed, read from localStorage
const savedIndex = localStorage.getItem('selectedCustomerTabIndex');
if (savedIndex !== null) {
this.selectedIndex = parseInt(savedIndex, 10);
}
} else {
this.selectedIndex = 0;
localStorage.removeItem('selectedCustomerTabIndex');
}
this.currentUrl = event.urlAfterRedirects;
}
});
}
ngOnInit() {
this.route.params.subscribe(params => {
this.customerId = +params['id'];
this.cdr.detectChanges(); // Manually trigger change detection
});
setTimeout(() => {
this.cdr.detectChanges();
}, 20);
}
Thank you!