My question is when i assign this.clientId to patientId and i debug to check if this.clientid has data or not the data is received but when i submit the patientId carries null data below ill share the code for better understanding
patientReportForm=this.getGroup({patientId : this.clientId ,hubxCategoryId:"",notes:""})
getGroup(data:any=null)
{
debugger
data=data || {patientId : 0,hubxCategoryId :"",notes:""}
console.log(data)
return new FormGroup({
patientId:new FormControl(data.patientId),
hubxCategoryId :new FormControl(data.hubxCategoryId),
notes:new FormControl(data.notes)
})
}
and this is the result after submit here patientId carries null data. or am i assigning this.clientId to patientid in wrong syntax.
CodePudding user response:
From a quick look, I think your problem is synchronization.
The clientId
is initialized in a subscribe
in ngOnInit()
, whereas you are using it in a variable definition:
patientReportForm = this.getGroup({patientId: this.clientId, hubxCategoryId: "", notes: ""});
To verify this is the issue, try to initialize the clientId
to 100
, instead of undefined
. Are you still seeing a null
?
CodePudding user response:
Of course no wonder, now that I saw your stackblitz you are already manually setting it to null
by adding this ternary expression in the ngOnInit(){}
lifecyclehook at line 100.
this.clientId = params.id == undefined ? null : this.commonService.encryptValue(params.id, false);
null
is neither a default type nor a default value. The default type is any
and the default value is undefined
.
Since your code does not run due to missing dependencies correcting that line will resolve your problem.
Also, you need use strict equality check ===
not the loose equality ==
. It can cause subtle bugs.