这是代码:
list.component.html
<form nz-form [formGroup]="taskFormGroup" (submit)="saveFormData()">
<div nz-row *ngFor="let remark of checklis>
<div nz-col nzXXl="12" *ngFor="let task of remark.tasks" style="padding: .5rem;">
<nz-form-item>
<nz-form-control>
<nz-radio-group formControlName="status" name="status" (change)="onChangeStatus($event)">
<label nz-radio nzValue="true">Passed</label>
<label nz-radio nzValue="false">Failed</label>
</nz-radio-group>
</nz-form-control>
</nz-form-item>
</div>
</div>
</form>
list.component.ts
checklist = [
{
"id": "txv3vvBr8KYB",
"assetType": {
"id": "1fKBO4w0XHg7H",
"code": "PRD",
"name": "Printing1"
},
"tasks": [
{
"id": "1fKBO4w0XHg7H",
"name": "Task 1",
"description": "Check oil spill"
},
{
"id": "ESOSA6aCrOER",
"name": "Sample1",
"description": "Desc1"
}
]
},
{
"id": "EwQciw9whx6B",
"tasks": [
{
"id": "1nU7uASqfvLPD",
"name": "TASK8888",
"description": "DESC8888"
},
{
"id": "EwQciw9whx6B",
"name": "TASK9999",
"description": "DESC9999"
}
]
}
];
constructor (private fb: FormBuilder) {}
createTaskFormGroup() {
const DATA = this.asset;
return this.fb.group({
remark: DATA || '',
status: ['', [Validators.required]]
});
}
onChangeStatus(ev: any) {
console.log(ev);
}
如何解决
ERROR TypeError: Cannot assign to read only property 'id' of object '[object Object]'
选择通过或失败时,出现错误 Cannot allocate to read only property 'id' of object '[object Object]'
最佳答案
将 (change)
更改为 (ngModelChange)
事件。
<nz-radio-group formControlName="status" name="status" (ngModelChange)="onChangeStatus($event)">
文档: https://ng.ant.design/components/radio/en#nz-radio-group
关于javascript - 如何以 react 形式绑定(bind),即 Angular 中的 formcontrolname 和 ngmodel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59340908/