Angular5: зависимый выпадающий список с использованием переменной шаблона
В одном из моих компонентов я подписываюсь на наблюдаемое. Базовый объект JSON, на который я подписываюсь, имеет много уровней вложенности.
Как я могу сделать несколько выпадающих выбора в зависимости от предыдущего выбора? Я использую переменные шаблона, чтобы отметить выбор.
this._exposureService.listAllExposures .subscribe( res => { this.allExposureData = res; } ) ;
Рез имеет следующую структуру (для иллюстрации)
res: [
{
companyId: 1,
reportDates: [
{
reportDate: 12/31/2017,
currencies: [
{
currency: 'USD'
}, ...
]
}, ...
]
}, ...
]
Идея состоит в том, что в директиве ngFor я хочу использовать шаблонные переменные выбора. Например, как показано ниже..., у меня нет работы, я получаю пустые выборки.. Возможно ли это?
С уважением
<mat-form-field>
<mat-select #company>
<mat-option *ngFor="let exp of allExposureData" [value]="exp">{{exp.companyId}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select #reportDate>
<mat-option *ngFor="let date of company.reportDates" [value]="date">{{dates.reportDate}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select #currency>
<mat-option *ngFor="let ccy of reportDate.currencies" [value]="ccy">{{ccy.currency}}</mat-option>
</mat-select>
</mat-form-field>
1 ответ
Решение
Вот один из способов справиться с этим: использовать Subject
!
Посмотрите пример, который я создал (работа находится в dropdown.ts
файл)