Angular - Обновление Аккордеона с результатами - PullRequest
0 голосов
/ 22 ноября 2018

Я сейчас пытаюсь обновить аккордеон из поиска, который возвращает массив.При первой загрузке полный набор результатов корректно отображается из службы.Однако, когда я ищу, я получаю правильные значения в консоли, но даже с помощью 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 голосов
/ 22 ноября 2018

Ваша модель с ngModel, вероятно, бесполезна, так как вы перебираете свой сервис для отображения своих данных.

Вам просто нужно правильно обновить данные из вашего сервиса напрямую или изменить итерацию ngFor для ваших данных модели.используется в вашем компоненте.

Рекомендуется второй вариант.

...