使用ng-options选择,如何初始化已选择的字段

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

本文关键字:选择 初始化 字段 ng-options 使用      更新时间:2023-09-26

我有这样的代码:
查看:

<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'}
];

当我第一次进入控制器时,在选择中没有任何东西,用户必须选择一些东西。
我试图通过

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

但是select字段仍然为空。

我希望选项"用户"已经选择当我进入控制器。那是双份的吗?

您可以在这种情况下使用track by,它基于data.id跟踪更改。

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

注意:如果与select as一起使用, track by会有害

演示Plunkr


另一种方法是选择你可以选择

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