【发布时间】:2019-07-15 01:24:59
【问题描述】:
我是 Angular 的新手,我对新添加的表单控件有问题。此表单控件在用户中不可见。 “结果”完美运行,但我新添加的“包含”在我执行
时会产生 UNDEFINED 结果this.ATests.at(index).patchValue({include: 1});
alert(this.ATests.controls[index].value.include);
在我的 itsMine.component.ts 中。无论如何,这是执行此操作的复选框事件,请参阅下面的代码以获取更多详细信息。提前谢谢好人。
这是我的 itsMine.model.ts:
export class ATbl {
result: string;
include: number;
constructor (ATblForm){
this.result=ATblForm.result || '';
this.include=AtblForm.include || '';
}
}
这是我的 itsMine.component.html:
<form [formGroup]="AFormGroup">
<div formArrayName="ATests" >
<div fxlayout="row" fxLayoutAlign="center center" *ngFor="let test of ATests.controls; let i=index" [formGroupName]="i">
<mat-checkbox [id]="'chkInclude_' + i"
(click)="setIncludeValue(i,$event)">
</mat-checkbox>
</div>
</div>
</form>
这是我的 itsMine.component.ts:
AFormGroup : FormGroup;
constructor(
private fb: FormBuilder
){
this.AFormGroup = this.fb.group({
ATests: this.fb.array([])
});
}
setIncludeValue(index,event) {
this.ATests.at(index).patchValue({include: 1});
alert(this.ATests.controls[index].value.include);
}
我错过了什么吗?非常感谢任何帮助。
【问题讨论】:
-
你能在警报前做一个“console.log(this.ATests.controls[index].value)”吗?调用patchValue后的值是多少?我知道它应该是 {include: 1} 但由于某种原因它不是
-
另一个提示以获得更多答案:您可以在 stackblitz.com 上提供一个示例,以便其他用户可以更快地找到您问题的解决方案
-
@TobiasGassmann 我做了 console.log(this.ATests.controls[index].value) 并且包含没有出现。嗯……
标签: angular angular-forms