angular - Primeng 日历 - 不更新 formControlName 值
问题描述
选择新的日历值不会更新 formControlName 中的值
我尝试将模型属性设置为字符串,还尝试将日历上的 dataType 设置为字符串。要从模型中设置日历的默认值,我必须将值转换为新日期。听 onBlur 也会显示旧值,而不是新值。
我正在使用 Angular 7、Ionic 4 和 PrimeNg 7.1
ngOnInit() {
this.form = new FormGroup({
dfrDate: new FormControl(null, {
updateOn: 'blur',
validators: [Validators.required]
}),
<p-calendar #dfrDateRef dataType="string" showButtonBar="true" formControlName='dfrDate' [showIcon]="true" ></p-calendar>
我希望表单控件值能够像所有其他表单字段一样自动更新。我可以通过在提交表单时使用 viewChild 来解决这个问题,但是对于这个应用程序中的每个日期字段来说,这样做会很痛苦
解决方案
要检查更改,请使用 onSelect 事件,如下所示:
鉴于:
<p-calendar
[(ngModel)]="inputDate"
(onSelect)="inputDateChanged()">
</p-calendar>
在控制器中:
public inputDateChanged(): void {
// Do something with this.inputDate
}
推荐阅读
- node.js - @hapi/boom 没有返回正确的错误,而是“500:内部服务器错误”
- powershell - 如何在 PowerShell 中转义可能包含需要转义的字符(例如 $)的字符串变量
- python-3.x - 从不遵循表达式的数组中删除元素的最简单方法
- css - 如何将 CodePen.io 中的代码应用到我的 Divi WP 网站?
- r - 在 purrr 和 makeDataReport() 中使用 map() 重命名多个 R Markdowns
- javascript - JavaScript:滚动时放大和缩小图像
- javascript - 如何使用按钮更改div的背景
- java - 我想在 java 程序中运行另一个 .jar 文件
- javascript - 删除画布的函数
- excel - VBA with Selenium - 想要通过 VBA Selenium 在特定站点上上传图像