2016-07-07 97 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