如何在未定义日期时显示空字段?

时间:2017-01-23 09:26:45

标签: angularjs

我有datepicker:

  <md-datepicker class="dateContainer" ng-model="startDate">
        </md-datepicker>

从服务开始日期:

scope.startDate = getMinStartDateMetadata(item)

 function getMinStartDateMetadata (item) {
        var minDate;
        if((item.start_date == null)|| (item.start_date == "")) {
            minDate = null;
            return minDate;
        }
        var startDate = new Date(item.start_date);
        return startDate;
    }

问题是 - 当没有item.start_date时,它返回undefined,并显示&#39; undefined&#39;在datepicker提交。当日期未定义时,我想在datepicker字段中显示NOTHING。

怎么做? 谢谢:))

4 个答案:

答案 0 :(得分:1)

使用下面的三元运算符返回:

return startDate===undefined?"":startDate;

以下是用于验证https://plnkr.co/edit/J89A2FZM0HUfWrazFDz5?p=preview

的plukner代码

答案 1 :(得分:0)

您只需将if子句替换为:

即可
if (!item.start_date) { //YOUR CODE }

它将包含未定义和空值

答案 2 :(得分:0)

function getMinStartDateMetadata (item) {
return item.start_date?new Date(item.start_date):'';
}
<md-datepicker class="dateContainer" value="No Date Defined" ng-model="startDate">
        </md-datepicker

答案 3 :(得分:0)

这是必需的。 See API因此,它应该始终是有效的Javascript Date对象。你不能把它分配给其他东西。

相反,我建议你使用另一个标志来隐藏datepicker(例如使用ng-if(不是ng-show)like ng-if="showDatePicker")并将其分配给特定的日期对象。