Angular-用结果更新手风琴

时间:2018-11-22 10:17:57

标签: angular ng-bootstrap

我目前正在尝试从返回数组的搜索中更新手风琴。第一次加载时,将正确显示服务的全部结果。但是,当我搜索时,我在控制台中获得了正确的值,即使使用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);
}

1 个答案:

答案 0 :(得分:0)

使用ngModel的模型可能没有用,因为您需要遍历服务以显示数据。

您只需要直接从服务中正确更新数据,或在组件中使用的modelData上更改ngFor的迭代。

推荐第二个选项。