【问题标题】:bootstrap-ui-datetime-picker not showing in input field preselected datebootstrap-ui-datetime-picker 未在输入字段中显示预选日期
【发布时间】:2019-02-28 23:51:24
【问题描述】:

在我的应用程序中,我使用 bootstrap-ui-datetime-picker。 我有两种情况,第一种是我第一次来并选择新的日期。在日期输入字段和日历中我选择了今天的日期,这是正确的。

在第二种情况下,当我从我的 API 日期数据中获取时,输入字段为空,但在日历中,我看到了正确的选定日期。

问题是,我需要在输入字段和日历弹出窗口中获取选定的日期,就像第一种情况一样。

这是我的代码...

<input type="text" ng-disabled="true" readonly="true" class="form-control" datetime-picker="MMM d, y" ng-model="ctrl.picker4.date"
                                            is-open="ctrl.picker4.open" enable-time="false" button-bar="ctrl.buttonBar" datepicker-options="ctrl.picker4.datepickerOptions"
                                        />

这是我从 API 获取日期并将其设置为 ng-model 的格式。 从 API 我得到这样的格式(字符串)

 data.from:"2018-09-24"

使用 momentjs 我格式化日期并设置为 ng-model

$scope.ctrl.picker4.date = moment(data.from).format("YYYY-MM-DD");

【问题讨论】:

    标签: angularjs momentjs bootstrap-datetimepicker bootstrap-ui


    【解决方案1】:

    日期格式有问题。我用过滤器解决了这个问题

    .directive('dateFormatter', [
     function () {
      return {
          restrict: 'A',
          require: 'ngModel',
          link: function postLink(scope, element, attrs, ngModel) {
            ngModel.$parsers.push(function(data) {
              return moment(data).format('YYYY-MM-DD');
            });
    
            ngModel.$formatters.push(function(data) {
              return moment(data, 'YYYY-MM-DD').toDate()
            });
          }
      };
    

    } ]);

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 2022-01-23
      • 2012-05-29
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      相关资源
      最近更新 更多