Опции углового набора не обновляются при изменении модели параметров - PullRequest
0 голосов
/ 24 марта 2019

Я использую пакет Angular для семантического интерфейса пользователя https://edcarroll.github.io/ng2-semantic-ui/#/getting-started

У меня есть выпадающий список, подобный так:

<sui-select class="selection" [options]="myOptionsModel" [isSearchable]="true" #questionSearch>
  <sui-select-option *ngFor="let option of questionSearch.filteredOptions" [value]="option"></sui-select-option>
</sui-select>

Всякий раз, когда я обновляю myOptionsModel, параметрыв выбранном не обновлять соответствующим образом .. (т. е. если я добавляю или удаляю элемент, изменение не отражается)Кнопка, эта функция называется:

addOption(name: string, id: number) {
  this.myOptionsModel.push({name: name, id: id})
}

Я пробовал несколько подходов, таких как использование optionsLookUp, но не повезло .. Вы можете помочь?

1 Ответ

2 голосов
/ 24 марта 2019

Вы пытаетесь обновить объект async с помощью логики sync .

myOptionsModel должно быть наблюдаемым Тогда ваш HTML-шаблон можно привязать к его изменениям

Файл TS

myOptionsModel$: BehaviorSubject<MyObjectType[]> = new BehaviorSubject([]);

addOption(name: string, id: number) {
    const updatedModel = this.myOptionsModel$.value.concat([{id, name}])
    this.myOptionsModel$.next(updatedModel)
  }

HTML-файл

[options]="myOptionsModel$ | async"
...