У меня есть компонент, в котором я пытаюсь создать динамические c вкладки, и похоже, что это так. Однако вкладки Dynami c не отображаются, пока я не нажму на компонент. Я не уверен, в чем проблема. Данные - это предмет поведения, на который я подписываюсь. Я получаю данные, когда тема меняется, однако вкладки Dynamci c не отображаются, пока я не нажму на компонент.
Вот мой код ..
ngOnInit() {
this.data.currentMessage.subscribe((message) => {
this.companyData = message;
console.log(
'Companies returned = ' + JSON.stringify(this.companyData)
);
// remove previous tabs
this.removeAll();
let count = 0;
for (const company of this.companyData) {
this.addNewTab(
company.companyName,
company.sicDesciption,
count === 0 ? true : false
);
count++;
}
});
}
ngAfterContentInit() {
if (this.tabs.length > 1) {
//this.searchResultTabs.tabs[0].elementRef. = false;
//this.removeTabHandler(this.tabs[0]);
this.selectTab(0);
}
}
addNewTab(
companyName: string,
description: string,
activate: boolean
): void {
const newTabIndex = this.tabs.length + 1;
this.tabs.push({
title: companyName,
content: description,
disabled: false,
removable: true,
active: activate
});
}
<div (click)="$event.preventDefault()">
<div class="tab-panel">
<tabset id="TEST" class="search-tabset" #searchResultTabs>
<tab heading="Static tab experiment">Blah blau</tab>
<tab
*ngFor="let t of tabs"
[heading]="t.title"
[active]="t.active"
(deselect)="t.active = false"
[disabled]="t.disabled"
[removable]="t.removable"
(removed)="removeTabHandler(t)"
[customClass]="t.customClass"
>
{{ t?.content }}
</tab>
</tabset>
</div>
</div>
Мы будем благодарны за любые предложения.
Спасибо, Том