Я предоставил структуру данных по ссылке ниже. У меня нет проблем с загрузкой данных в множественный выбор, когда при создании записей используется значение n * ngFor = "let data of FilteredYear" = = {{data}} "> {{data}}, теперь проблема заключается в том, чторедактирование и загрузка записей в множественный выбор. Я хотел загрузить массив данных, например, «год», в форму с разделителями-запятыми, и когда я выбираю или добавляю новые данные, эти выбранные должны уже проверяться на множественном выборе, и никакое значение не должнобыть выбранным дважды. Любая идея или ошибка с моим кодом? У меня нет проблем с загрузкой данных в поле с именем формы, проблема в том, чтобы выбрать несколько лет. Кстати, данные загружаются на this.frm = this.fb.group ...
HTML
<mat-form-field>
<input matInput placeholder="Name" formControlName="name" class="name-input">
<mat-hint align="end"></mat-hint>
<!-- <mat-error *ngIf="frm.controls.Stock.invalid"></mat-error> -->
</mat-form-field>
<mat-form-field>
<mat-label>Year</mat-label>
<mat-select multiple formControlName="year">
<mat-option *ngFor="let data of FilteredYear" value="{{ data }}">{{ data }}</mat-option>
</mat-select>
</mat-form-field>
Структура данных
https://imgur.com/a/xbbjUpN
Если при редактировании данные должны отображаться с таким множественным выбором, как показано на рисунке ниже, данные получены из let data = this.data.data;когда я предоставил структуру данных выше,
https://imgur.com/a/twIr968
компонент формы ts
initializeForm () {
if (this.data.action == 'edit') {
let data = this.data.data;
this.frm = this.fb.group({
summer_sale_value: new FormControl(data.summer_sale_value, [Validators.required, Validators.minLength(5)]),
name: new FormControl(data.name, [Validators.required, Validators.minLength(5)]),
email: new FormControl(data.email, [Validators.required, Validators.minLength(5)]),
body: new FormControl(data.data[0].body, null),
make: new FormControl(data.data[0].make, null),
year: new FormControl(data.data[0].year, null),
model: new FormControl(data.data[0].model, null),
_id: new FormControl(data._id),
});
} else {
this.frm = new FormGroup({
summer_sale_value: new FormControl(null, [Validators.required, Validators.minLength(1)]),
name: new FormControl(null, [Validators.required, Validators.minLength(4)]),
body: new FormControl(null),
make: new FormControl(null),
year: new FormControl(null),
model: new FormControl(null),
});
}