Javascript 角度反应表单:无法在页面加载时绑定复选框已选中属性
在角度反应式表单中,我需要Checkbox的双向数据绑定,在选中它之后,我将check变量发送到存储区,在页面加载之后,我也将获得新的更新值。但该复选框Javascript 角度反应表单:无法在页面加载时绑定复选框已选中属性,javascript,angular,typescript,Javascript,Angular,Typescript,在角度反应式表单中,我需要Checkbox的双向数据绑定,在选中它之后,我将check变量发送到存储区,在页面加载之后,我也将获得新的更新值。但该复选框isdateChkd变量,即使它的未来TRUE复选框在页面加载时未自动选中 下面是HTML和ts文件 HTML文件 <form [formGroup]="form"> <div class="abc" formControlName="inputDate">
isdateChkd
变量,即使它的未来TRUE复选框在页面加载时未自动选中
下面是HTML和ts文件
HTML文件
<form [formGroup]="form">
<div class="abc" formControlName="inputDate">
<div class="xyz">
<p-calendar formControlName="inputDate"
[(ngModel)]="inputDateValue"
class="abc"/>
<input type="checkbox" id="checkbox-1" class="abc" name="dateChk"
name="dateIsChecked" [(ngModel)]="isdateChkd" (change)="chkFunction($event.target.value)" />
</div>
</div>
</form>
public isdateChkd: boolean = false;
ngOnInit() {
....Other service calls
// Call to get isdateChkd value
this.store.select(getValues).takeUntil(this.ngUnsubscribe).subscribe((data) => {
this.isdateChkd = data.defaultUpdate // this value holds boolean to be used
});
}
chkFunction(valule) {
this.isdateChkd = value; // i get update when checkbox is checked
this.store.dispatch(new updateCheckboxCheckedService(value)); // after its checked dispatching it to the store
}
提前感谢您的帮助…您可以使用
选中的
属性以及NgModel
它在这里使用checked和值isdateChkd
。您也可以在这里的这个
请尝试进行如下代码所示的更改
...
<input type="checkbox" id="checkbox-1" class="abc" name="dateIsChecked"
[(ngModel)]="isdateChkd" (change)="chkFunction($event)" checked="isdateChkd" />
...
。。。
...
快乐编码…) 您是否尝试用
[checked]
代替ngModel
我不确定您为什么同时使用反应式表单和模板驱动表单。Angular必须在控制台中给您一个错误。保存并发送到ngrx存储区后,再次打开页面后,即使我在取消选中该页面后保存了该页面,但它始终以选中状态出现。即使从服务器返回的布尔值为FALSE。现在该怎么办?您是否在ngOnInit()
中设置了this.isdateChkd
的值?是的,正如我在问题中提到的TS文件中所示,在每个保存页面重新加载并打开两个选项卡之后,当我切换到所需选项卡时,即使在ngOnInit
下,我得到this.isdateChkd=false
,我也可以看到它处于选中状态,但当您在更新时将其设置为false时,您可以看到它在stackBlitz中工作,单击。考虑到可能存在另一个将值设置为True的事件,如果可能,尝试创建一个带有错误的stackBlitz,以帮助我们解决此问题:)