首页 > 解决方案 > 如何使用 Reactive Forms 从 Angular material-datepicker 中获取键盘输入的值?

问题描述

我正在使用带有 Reactive Forms 和 moment 的 Angular 和材料日期选择器 MomentDateModule。如何从键盘输入的表单中获取值?

是一个小例子。如果我输入了正确的日期,那么 valueChanges 会发出正确的时刻对象,一切正常。日期无效,null可以this.date.value控制

有没有办法使用响应式表单将当前输入值存储在表单控件中?我也尝试添加 (input)="onInput($event)"到 datepicker<input />

onInput(event) { this.date.setValue(moment(event.target.value)) }

但它没有用。因为 datepicker 将无效的时刻对象转换为输入值的空字符串

标签: angularangular-materialmomentjsangular-reactive-formsangular-material-datetimepicker

解决方案


如果我说得对,您可以使用输入的值来做到这一点,如下 所示

您的声明: @ViewChild('input', { static: false }) input: ElementRef

用法:this.input.nativeElement.value


推荐阅读