이 문제는 ngOnInit에서 양식을 채우기 위해 레코드 데이터에 대해 http GET을 수행하는 경우 발생합니다. 이 양식은 본질적으로 사용자가 정보를 편집하고 데이터베이스에 다시 저장할 수있는 페이지입니다. 제가 실행중인 문제는 사용자가 폼을 채우고 이전 PUT에서 분명히 model.BooleanValue = true라고 말한이 체크 박스를 선택하고 페이지가 초기화 될 때 체크 박스가 선택되면됩니다.[checked] = "model? .value"인 HTML 체크 박스는 모델 속성에 할당되면 null을 반환합니다.
<input type="checkbox" formControlName="isBoolean" [checked]="model?.BooleanValue" />
그러나, (체크 박스는 여전히 HTTP GET에서 체크) 나는 (어떤 방식으로 체크 박스를 편집하지 않고)는 PUT을 미리 형성 내가 확인란을 변경하지 않은 가정 할 수 있습니다. 양식 체크 박스 값을 model.BooleanValue에 할당하면 체크 박스 값/checked는 true가 아닌 null을 반환합니다.
다음은 모델뿐만 아니라 사용중인 FormToModel 메서드입니다. 내가 모델을 할당 할 때 잘 유일한 문제
export class BoolModel {
public BooleanValue: Boolean;
}
FormToModel(f: FormGroup) {
var model = new BoolModel();
model.BooleanValue = f.controls['isBoolean'].value ? true : false;
return model;
}
가져 오기 및 PUT 작업입니다 - (근무하고 적절하게 확인하고 model.Boolean 값이 true에있는 확인란을 할당 얻을 ngOnInit가 있다고 가정하자) .BooleanValue = isBoolean.value PUT 중에 (isBoolean 값이 null이되어 폼이나 모델에서 시각적으로 확인란의 부울 값이 아닌 false가 할당됩니다.)
참고 : 확인란의 선택을 취소하고 다시 선택하면 값은 true가되고 null이 아닙니다. 따라서 올바른 값을 보내려면 확인란과 상호 작용해야합니다.
아마 뭔가 간단하게 고칠 수는 있지만 제대로 작동하지 않는 것 같습니다. 어떤 통찰력이라도 크게 감사 할 것입니다.