<select ng-model="person"
ng-options="item.name for item in persons track by item.id">
<option value="">-- select --</option>
</select>
persons =
{
1: 'Ted',
2: 'Ben',
3: 'Anna',
4: 'Micky',
5: 'Ricky'
}
It looks like:
-- select --
Ted
Ben
Anna
Micky
Ricky
默认选项是 - 选择 - 。列表从数据库读取。有没有办法,在列表中首先选择值为4的选项,但选择后选择 - 并将其作为下一个选项:
-- select --
**Micky**
Ted
Ben
Anna
Ricky
答案 0 :(得分:3)
您只需将orderBy过滤器添加到ng-options中的数据列表即可。
将您的HTML模板更新为:
<select ng-model="person"
ng-options="item.name for item in persons|orderBy:sortOptions track by item.id">
<option value="">-- select --</option>
</select>
在控制器中定义orderBy谓词:
$scope.sortOptions = function(option) {
if (option.name === 'Micky') {
return 0;
} else {
return 1;
}
}