当异步绑定 ngoptions 数据时,默认为空选项 select

Empty option as default select when ngoptions data is bound asynchronously

我在我的控制器中异步绑定了 ngoptions 数组。当我用它创建 select 时,会创建一个空选项。我该如何避免?

<select  data-ng-model="order.employee" ng-options="employee._id as employee.name for
    employee in employeess"> </select>

我的控制器代码

Employees.query(function(employees){
    $scope.employees = employees
});

如何避免创建空 select?我尝试了 ng-init 但没有用

那是因为你没有初始化你的模型。 您必须在控制器中为 ng-model="order.employee" 设置默认值。 喜欢:

$scope.order.employee = -1

你的select应该有这样的结构:

<select  data-ng-model="order.employee" ng-options="employee._id as employee.name for
    employee in employeess"> 
   <option value="-1">Click to Select<option>
</select>

解决方案

(1) 您可以创建空白选项。默认情况下将 selected。

$scope.order.employee = -1

<select  data-ng-model="order.employee" ng-options="employee._id as employee.name for
    employee in employeess"> 
   <option value="-1">--Select--<option>
</select>

(2) 你可以select第一个选项

Employees.query(function(employees){
    $scope.employees = employees
    $scope.order.employee = employees.length ? employee[0]._id : -1
});