在ng-repeat中设置md-datepicker

时间:2017-03-10 05:01:10

标签: javascript angularjs angular-material

我有一个使用ng-repeat创建的表。在该表中,我有一个md-datepicker。某些行的日期设置为yyyy-mm-dd格式。我想将datepicker预先设置为该值(如果存在)。我应该怎么做呢?这是代码:

<tr ng-repeat="y in rides | orderBy : 'id'">
    <td >{{y.Student}}</td>
    <td>{{y.Instructor}}</td>
    <td><md-datepicker ng-model="myDate" md-placeholder="Enter date" ng-change="dateChange(myDate, $index)"></md-datepicker></td>
</tr>

我尝试将ng-init="myDate = y.Date"添加到我的重复中,但这并没有成功。

1 个答案:

答案 0 :(得分:1)

只需添加ng-model = "y.Date"

<md-datepicker ng-model="y.Date" md-placeholder="Enter date" ng-change="dateChange(myDate, $index)"></md-datepicker>

被修改

创建过滤器以将字符串转换为日期

.filter('formatDate', function() {
    return function(obj) {
      debugger;
        obj.Date = new Date(obj.Date);
        return obj;
    }
})

调用从ng init过滤到将字符串转换为日期

<tr ng-repeat="y in rides | orderBy : 'id'" ng-init=" y | formatDate ">
   <td>{{y.id}}</td>
   <td>
      <md-datepicker ng-model="y.Date" md-placeholder="Enter date" ng-change="dateChange(myDate, $index)"></md-datepicker>
   </td>
</tr>

https://blogs.oracle.com/pshuff/entry/apex_in_azure