Я перешел по ссылке переполнения стека каскадный выпадающий список в реактивном формате
и достиг желаемого результата. Кроме того, я хочу загрузить сохраненные данные из БД обратно в пользовательский интерфейс, когда пользователь снова попытается изменить параметры. Я почти достиг этого, но проблемы со вторым выпадающим списком. Нужна помощь по динамической загрузке колес [] для каждой строки formarray. Я сохраняю формат json как таковой в БД, получаю его и повторяю.
options: string - имя переменной в БД, в которой хранится formarray
private retrieveSavedControls(options: string): FormArray{
console.log(classes);
this.profileForm= this.fb.group({
optionGroups: this.fb.array([])
})
const control = <FormArray>this.profileForm.controls['optionGroups'];
this.units = JSON.parse(options).optionGroups;
console.log('parsed json: ',this.units);
let index =0;
this.units.forEach(unit => {
control.push(this.fb.group({
selectInput: ['', Validators.required],
whereInput: [[], Validators.required]
}));
// this part should've loaded the list for each of the 2nd dropdown but not loading.
this.wheres[unit.selectInput] = this.getWhere().filter((item)=> item.selectid == unit.selectInput);
(<FormArray>this.profileForm.controls['optionGroups']).controls[index]
.patchValue({ selectInput: unit.selectInput, whereInput: unit.whereInput});
index++
})
console.log('control: ',control)
return control;
}