uib-datepicker-popup:日历显示,按钮栏按钮功能正常,但日期按钮不正常

时间:2016-03-30 19:43:01

标签: angular-bootstrap

我在我的应用程序中使用了相当多的uib-datepicker-popup。在这个特定的例子中,它一直运作良好。

我在我的应用程序的每个其他实例中使用它与我的完全相同,但它只有一半有效。

底部栏中的“今天”,“清除”和“完成”按钮按预期工作(点击“今天”将日期放入输入并隐藏日历,“清除”清除输入并隐藏日历, “完成”隐藏日历)。

但是,当我在日历上选择任何日期/日时,它会突出显示它,但输入中没有填充日期,日历仍然保持打开状态。

这是我的html:

<input type="text" class="form-control" name="convert_date" uib-datepicker-popup="M/d/yyyy" ng-model="vm.case.convert_date" ng-disabled="!vm.isActive" placeholder="m/d/yyyy" is-open="open" ng-click="open = true" ng-focus="open = true" show-weeks="false">

为什么日期按钮不会填充输入?

1 个答案:

答案 0 :(得分:0)

ngModelOptions 是罪魁祸首。我在应用程序的这个区域设置了整个视图,如下所示:

ng-model-options="{ updateOn: 'blur click', debounce: {'blur': 0, 'click': 0} }"

这会阻止日期/日期按钮触发其事件并填充输入并隐藏日历。

我通过直接添加另一个ngModelOptions实例作为我的uib-datepicker-popup元素的属性解决了我的问题,如下所示:

<input ng-model-options="{ updateOn: 'default' }" name="convert_date" uib-datepicker-popup="M/d/yyyy" type="text" class="form-control" ng-model="vm.case.convert_date" ng-disabled="!vm.isActive" placeholder="m/d/yyyy" is-open="open" ng-click="open = true" ng-focus="open = true" show-weeks="false">

这会将模型行为重置为默认设置,以便日期选择器可以再次正常运行。