javascript - 日期选择器未正确更新日期对象
问题描述
我正在使用https://github.com/DanielYKPan/date-time-picker找到的日期时间选择器来获取/更新日期选择器的“开始”和“结束”日期对象(参见selectedMoments
TypeScript 代码) . 但是,每当我选择一个新日期并触发该功能dateTimePickerActivate()
(参见(dateTimeChange)=
HTML 代码)时,我都会收到一个 TypeError(参见下面的错误 1),并且只能在隐藏对象属性中找到新日期_pendingValue
(参见下面的错误 2),这不会'不更新日期对象的实际值。
如何修复这些以正确更新selectedMoments
对象数组?
HTML:
<mat-form-field class="full-width">
<input matInput placehold="Time Range (Optional):" [selectMode]="'range'" [owlDateTimeTrigger]="dateTimePicker" [owlDateTime]="dateTimePicker" [formControl]="selectedMoments" (dateTimeChange)="dateTimePickerActivate()">
<owl-date-time showSecondsTimer="'true'" hour12Timer="'true'" #dateTimePicker></owl-date-time>
</mat-form-field>
打字稿:
// Date & Time Stored Value
// Note: Month starts at 0, so ex: February would == 1
public selectedMoments = [new Date(2018, 1, 12, 10, 30), new Date(2018, 3, 21, 20, 30)];
dateTimePickerActivate() {
console.log(Object.getOwnPropertyNames(this.selectedMoments));
console.log(this.selectedMoments);
}
错误:
1)html ERROR TypeError: control.registerOnChange is not a function
关于(dateTimeChange)="dateTimePickerActivate()"
2)
解决方案
我找到了更新日期的解决方案(虽然有点笨拙),但是我仍然没有找到解决第一个错误的方法。
HTML:
(dateTimeChange)="dateTimePicked(dateTimePicker)"
打字稿:
dateTimePicked(selectedDate) {
const dateRangeObject = {
// First date
from: selectedDate.selecteds[0],
// Second date
to: selectedDate.selecteds[1],
};
console.log(dateRangeObject);
// do something with dates here...
}
推荐阅读
- angular - 系统聚合异常:无法启动节点进程
- intellij-idea - 在哪里更改 WebStorm / PhpStorm 的函数参数提示的颜色?
- qt - 在目录 QT 中启动终端
- python-3.x - CNN 中的预测结果
- c# - 在 Web API 中,通常的约定是省略“{action}”
- c# - 调整 Web 浏览器大小时,调试会话在 Visual Studio 中意外结束
- c# - 将linq中的通用过滤器分解为实体
- php - 使用 Laravel 获取经过身份验证的成员的最简单方法
- java - 使用侦听器类获取活动用户数
- docker - 无法启动 docker 容器并运行命令 OCI Runtime Create Failed