bootstrap-ui-datetime-picker не отображается в поле ввода предварительно выбранной даты - PullRequest
0 голосов
/ 25 сентября 2018

в моем приложении я использую 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"

С помощью моментов я форматирую дату и устанавливаю ng-модель

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

1 Ответ

0 голосов
/ 26 сентября 2018

Проблема была с форматом даты.Я исправляю это с помощью фильтра

.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()
        });
      }
  };

}]);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...