2016-07-07 71 views
2

我正在检索无序列表并绑定到此处的下拉菜单,但在实例化时我希望能够在下拉列表中选择第0个项目。 ng-init="selectedTreatment=treatments[0]"不起作用,因为列表在视图中被重新排序。角度下拉,按索引选择

<select ng-model="selectedTreatment" 
     ng-options="option.TreatmentName for option in (treatments | orderBy : 'TreatmentName')"> 
</select> 

有没有一种方法可以做到这一点?

回答

0

的一个解决方案是在控制器对数据进行排序,因为它是在视图有序的方式相同。然后在控制器I注入$filter到控制器,做:

$scope.selectedTreatment = $filter('orderBy')($scope.treatments, 'TreatmentName')[0]; 

这让我利用在控制器中的排序依据过滤器。这解决了我的问题,但似乎它不提供完整的SOC。在视图中整洁地做到这一点的方法似乎不可能。

0

在游历控制器设置的选择NG-模型

$scope.selectedTreatment = treatments[0].TreatmentName 
+1

由于数据使用视图上的orderBy过滤器重新排序。数据中的第0项不是下拉菜单中的第0项。所以这是行不通的。 – gunwin