angularjs 设置ng-options 的默认值

第一种

<select name="editRole"
    ng-model="editRole"
    class="form-control selectForm"
    ng-options="role.id as role.roleName for role in roleList">
</select>

在controller设置$scope.editRole,但是ng-options默认的值没有。

第二种:
但在这种情况下可以的

<select name="editRole"
    ng-model="editRole"
    class="form-control selectForm"
    ng-options="role.roleName for role in roleList">
</select>

因为需要获取value,所以采用第一种方案,但这种方案没法默认选中值。
求原因

谢谢。

阅读 3.2k
1 个回答

针对第一种问题,解决方法是,在ng-options后面加上track by role.id就可以解决了。

<select name="editRole"
    ng-model="editRole"
    class="form-control selectForm"
    ng-options="role.id as role.roleName for role in roleList track by role.id">
</select>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题