如何解决无法从嵌套角形形式的子组件中获得更改
我在以嵌套角形式从子组件获取更改时遇到问题,这种形式是动态形式,可以添加新元素。
我将发布部分代码
<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 举报,一经查实,本站将立刻删除。