如何设置Angular UI Bootstrap Datepicker 默认设置空字段?

How to set Angular UI Bootstrap Datepicker to set empty field by default?

我正在使用 Angular UI Bootstrap 日期选择器来处理日期选择器。我的挑战是将日期选择器的输入字段默认设置为空字段。

让我给你看看我用过的输入框。

<td>
  <div>
    <input class="form-control" type="text" datepicker-popup="dd/MM/yyyy" id='txtDate' ng-model="personalDetail.date" is-open="personalDetail.isOpen" close-text="Close" ng-click="open($event, personalDetail)" name="datefilter" value="" />

  </div>
</td>

还有我的脚本

  $scope.personalDetails.forEach(function(personalDetail){
    personalDetail.date = new Date(personalDetail.date);
  });

  $scope.open = function($event, personalDetail) {
    $event.preventDefault();
    $event.stopPropagation();

    personalDetail.isOpen = true;
  };

我在 html table 中使用它和 ng-repeat 。但我需要的是将日期字段显示为空,直到我设置相应的日期。请帮助我。

<td>
  <div>
    <input class="form-control" type="text" datepicker-popup="dd/MM/yyyy" id='txtDate' ng-model="personalDetail.date" is-open="personalDetail.isOpen" close-text="Close" ng-click="open($event, personalDetail)" name="datefilter" value="" />

  </div>
</td>

你的控制器应该是

$scope.personalDetails.forEach(function(personalDetail){
    //personalDetail.date = new Date(personalDetail.date);//sets the value to the control
    personalDetail.date = !personalDetail.date || new Date(personalDetail.date).toISOString() == new Date('1/1/1900').toISOString() 
        ? '' // Date is null, undeclared, or default value
        : new Date(personalDetail.date);
  });

  $scope.open = function($event, personalDetail) {
    $event.preventDefault();
    $event.stopPropagation();

    personalDetail.isOpen = true;
  };

变化自

personalDetail.date = new Date(personalDetail.date);

personalDetail.date = "";

喜欢$scope.personalDetail={ date: "" }