我有一个AngularJS ui-grid用于显示包括日期在内的几个字段。日期来自服务器,格式如下:2018-01-31。 在列定义上,我有类似于:
.columnDefs = [
...
{ name: 'startDate', displayName: 'Start Date', width: 170, enableHiding: false, cellTemplate: dateCellTemplate},
];
我已添加type: 'date'
和cellFilter: 'date:\'yyyy-MM-dd\''
,但这些都没有效果。
模板只有这样的日期输入:
const dateCellTemplate = '<div><input type="date" ng-model="MODEL_COL_FIELD" ng-change="grid.appScope.saveEdit(row)"></div>'
每当我收到服务器响应时,我的js控制台都会显示以下错误。
Error: [ngModel:datefmt] http://errors.angularjs.org/1.4.8/ngModel/datefmt?p0=2018-01-24
答案 0 :(得分:1)
在使用之前,您需要将模型转换为Date
对象。使用
new Date(your date here);
这是因为您正在使用输入类型Date
,而angular需要日期类型而不是字符串。