DateTimePicker очищает дату, просто открыв календарь - PullRequest
2 голосов
/ 19 июня 2019

Когда я нажимаю кнопку datetimepicker, она очищает дату.

'use strict';

app.directive('defaultDate', function () {
    return {
        restrict: 'E',
        templateUrl: 'app/directives/default-date.html',
        scope: {
            onChange: '&',
            obj: '='
        },
        controller: function ($scope) {
            $scope.alterou = function () {
                $scope.onChange()
            }

            $scope.openCalendar = function (e) {
                e.preventDefault()
                e.stopPropagation()
                $scope.obj = { isOpen: true };
            };
        }
    }
})

<p class="input-group">
  <input type="text" class="form-control" ng-change='alterou()' datetime-picker="dd/MM/yyyy HH:mm" ng-model="obj.date" is-open="obj.isOpen" />
  <span class="input-group-btn">
    <button type="button" class="btn btn-default" ng-click="openCalendar($event, prop)"><i class="fa fa-calendar"></i></button>
  </span>
</p>

Я ожидаю, что календарь не очистит дату, просто открыв ее.

1 Ответ

0 голосов
/ 19 июня 2019

Проблема в том, что эта строка в вашей функции $scope.openCalendar:

$scope.obj = { isOpen: true };

Вы устанавливаете $scope.obj для объекта с одним свойством isOpen.Что вы должны сделать здесь:

$scope.obj.isOpen = true;

Таким образом, значение $scope.obj.date будет сохранено.

...