select 使用 ng-options,如何使用已经 selected 的字段进行初始化

select with ng-options, how to initialize with a field already selected

我有这个代码:
查看:

<select 
        ng-model="filterList" 
        ng-options="data.name for data in filter_options">
</select>

控制器:

$scope.filter_options = [
        {id: 1, name: 'User'},
        {id: 2, name: 'Option 2'},
        {id: 3, name: 'Option 3'}
];

当我第一次进入控制器时,select 中什么也没有,用户必须 select 一些东西。
我试图通过

$scope.filterList = {id: 1, name: 'User'};

但 select 字段仍为空。

我希望当我进入控制器时选项 "User" 已经是 select。那是双重的吗?

您可以在这种情况下使用 track by,它根据 data.id.

跟踪变化
<select ng-model="filterList" 
   ng-options="data.name for data in filter_options track by data.id">
</select>

NOTE: track by would harm if you are using with select as

Demo Plunkr


另一种方法是你可以select你可以

$scope.filterList = $scope.filter_options[0];