Один способ связывания с ngModel в angular 4 не работает с Observables - PullRequest
0 голосов
/ 05 октября 2018

enter image description here][1]
У меня есть массив, который я объявил с Observables, в массиве, который он показывает с console.log, но в раскрывающемся списке яЯ вижу, что только если щелкнуть раскрывающееся меню ниже, чем его идентификатор или имя, но я не хочу, чтобы объект, в котором есть строка, должен был показать мне в раскрывающемся списке, какая строка ниже для проекта, например 32323, за которую он отвечаетэтот проект и когда я открою этот проект должен показать мне в раскрывающемся списке, что ответственный.Это мой код.

 cluster$: Observable<DropdownOption[]>;

 selectClusterOptions = createSelector(
    selectClusters,
    clusters => {
      const options: DropdownOption[] = [];
      options.push(...clusters.map(cluster => ({ key: cluster.id, value: cluster.name })).toArray());
      return options;
    }
  );


   this.cluster$ = store.pipe(select(this.selectClusterOptions));

Это HTML

<app-dropdown label="Cluster" labelWidth="75px" optionWidth="170px" [items]="cluster$ | async" [ngModel]="(selectValueItem$ | async).clusterId"></app-dropdown>

1 Ответ

0 голосов
/ 05 октября 2018

Для двухстороннего связывания необходимо использовать [(ngModel)]

<app-dropdown label="Cluster" labelWidth="75px" optionWidth="170px" [items]="cluster$ | async" [(ngModel)]="(selectValueItem$ | async).clusterId"></app-dropdown>
...