问题描述
我在以嵌套角形式从子组件获取更改时遇到问题,这种形式是动态形式,可以添加新元素。
我将发布部分代码
<div *ngFor="let evForm of evFormData.controls; let evseIndex = index">
<div [formGroup]="evForm" class="column-separator">
<div
*ngFor="let contact of evForm.get('contacts').controls; let contactIndex = index">
<div [formGroupName]="contactIndex">
<div fxLayout="row" class="parameterWrapper">
<div class="parameterLabel step">connectorType</div>
<modification-dropdown
controlName="contactType"
[group]="connector.controls.connectorType"
[formControlValue]="contact"
></modification-dropdown>
....
此子组件如下所示:
<label [formGroup]="group">
<div fxLayout="row">
<select class="parameterInputSelect" [formControlName]="controlName">
<option *ngFor="let value of enumValues" [value]="value">
{{value}}</option>
</select>
</div>
</label>
和ts文件如下:
export class ModificationDropdownComponent implements OnInit {
@input() group: FormGroup;
@input() enumValues: string[];
@input() controlName: string;
@input() formControlValue: any;
constructor(public fb: FormBuilder) { }
ngOnInit(): void {
console.log(this.formData);
this.formGroup = this.fb.group({
[this.controlName]: new FormControl(this.formData)
});
}
get formData(): FormGroup {
return this.formControlValue?.value[this.controlName] as FormGroup;
}
}
但是,当我调试时,如果从下拉列表中选择一些值,则看不到父窗体的任何更改
也许我做错了什么办法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)