【发布时间】:2021-02-19 07:35:34
【问题描述】:
我的目标是建立一个日期和时间模型。
不幸的是,我还没有为 AngularJS Material 找到稳定的日期时间选择器组件,所以我使用了两个共享相同模型的元素:标准 md-datepicker 和常规 input type="time"
<md-input-container>
<md-datepicker ng-model="ctrl.myDateTime" md-placeholder="Enter date"></md-datepicker>
</md-input-container>
<md-input-container>
<input ng-model="ctrl.myDateTime" type="time">
</md-input-container>
<span>Date and time chosen: {{ctrl.myDateTime}}</span>
首先,我选择日期。选择日期后,ctrl.myDateTime 将获取日期值,其中00:00:00 时间(在浏览器时区中)显示在span 中。
然后我选择时间。设置时间后,span 中也会正确显示。
这里的问题:每次input type="time" 失去焦点(如onblur),由于某种原因,时间分数被重置为00:00:00,但input 继续显示用户的值。
这就是我需要帮助的地方。
我唯一想到的是,如果input 没有被md-input-container 包裹,那么时间只会重置一次,如果我再次更改它,焦点丢失不会重置时间。
如何避免?
【问题讨论】:
-
我试过你的链接。似乎可以正常工作。也许我误解了你的问题。设置日期有效。设定时间有效。使用移动浏览器 Safari。可能是浏览器问题?
-
@tbone849 这很奇怪。我再次打开链接并重现了该错误。我正在使用 Chrome 桌面(最新)。这是录制视频的链接(直播到 2020 年 11 月 30 日)yadi.sk/i/JAP1f93pTBbWrg
-
我也在 Android 上的 Chrome 和 Firefox 桌面上做了同样的事情。同样的事情被复制。一旦时间输入失去焦点,问题就会重现。
-
我现在看到了这个问题。这很奇怪。
标签: angularjs datetime angularjs-material