formControl에서 프로그래밍 방식으로 부울 값을 설정하려고합니다. 그러나 이것은 형태가 더러운 것으로 표시합니다. 참고를위한formControl을 각도 값 2의 부울 값 'true'로 프로그래밍 방식으로 설정하면 양식이 더럽다고 표시됩니다.
this.formGroup.get(ruleOutput.attributeKey).setValue(JSONUtils.parseJSON(ruleOutput.attributeValue))
, JSONParser 코드 (여기서 오류를 생각하지 마십시오) : 각도 워드 프로세서로가는 것은, 이 https://angular.io/api/forms/AbstractControl#pristine
코드 "컨트롤의 값으로 프로그램 변경은 더러운 표시되지 않습니다"
public static parseJSON(input : any) : any{
try{
return JSON.parse(input);
}catch(Error){
console.log("Inside JSON Utils: Error while parsing input JSON :");
console.log(input);
console.log(Error.toString());
console.log("Return Empty JSON");
return JSON.parse("{}");
}
}
포인트는 값을 설정 한 후 양식이 더티로 표시됩니다.
이 문제의 근본 원인을 해결하는 데 도움을주십시오.
경우 (ruleDataList && ruleDataList.length> 0) { ruleDataList [0] .ruleOutputList.forEach ( ruleOutput => { 경우 (DisplayUtils.isKeyDisplayable (ruleOutput.attributeKey, "*")) { this.formGroup 갔지 (ruleOutput.attributeKey) .setValue (JSONUtils.parseJSON (ruleOutput.attributeValue)); this.formGroup.get (ruleOutput.attributeKey) .markAsPristine; }} ) this.ruleDataAlreadyExists = TRUE; } –
데모를 만드십시오. 왜 이런 일이 일어나는지 보지 못합니다. – Alex