我目前正在尝试从返回数组的搜索中更新手风琴。第一次加载时,将正确显示服务的全部结果。但是,当我搜索时,我在控制台中获得了正确的值,即使使用ngModel,它也不会被更新。有什么建议吗?
// Snippet of accordion
<ngb-accordion [closeOthers]="true">
<ngb-panel [(ngModel)]="modelData" ngDefaultControl *ngFor="let miller of dataService.data.millers; let millerIndex = index" title="{{ miller.name }} - {{ miller.address }}">
<ng-template ngbPanelContent>
<p>Name: {{ miller.name }}</p>
<p>Address: {{ miller.address }}</p>
<p>
<strong>{{ miller.name }}'s Farms</strong>
</p>
search(farmName: string, millerName: string) {
// service being called and snippet of mapping
const x = this.dataService.data.millers.map(miller => {
this.modelData = x;
// Correctly logs results
console.log(this.modelData);
}
答案 0 :(得分:0)
使用ngModel的模型可能没有用,因为您需要遍历服务以显示数据。
您只需要直接从服务中正确更新数据,或在组件中使用的modelData上更改ngFor的迭代。
推荐第二个选项。