我有一个角网格(ng-grid),其中一个以上的列有一个下拉菜单,这是绑定到显示在行对象的属性。
<div class="gridStyle span9" ng-grid="gridOptions"></div>
$scope.types = ['cat', 'dog' 'rat'];
$scope.gridOptions = {
data : 'AnimalData',
columnDefs : [{
field : 'name',
displayName : 'Name'
}, {
field : 'birthday',
displayName : 'Birthday'
},{
field : 'type',
displayName : 'type'
cellTemplate : 'cellTemplate.html'
}]
};
cellTemplate.html:
<div>
<select ng-model="AnimalData[ row.rowIndex ].type">
<option ng-repeat="item in types">{{item}}</option>
</select>
</div>
这与我的对象绑定得很好,但是当我对网格进行排序时,下拉列表没有排序,它们只是停留在相同的位置,值没有变化。我该如何解决这个问题?
找到问题了。要引用原始对象,您需要更改
AnimalData[ row.rowIndex ].type
到row.entity.myEditableProperty.type
,
<div><select ng-model="row.entity.myEditableProperty.type" ng-options="item for item in types"></select></div>
概念验证Plunkr: http://plnkr.co/edit/i7vXng?p=preview