1

根据Angular 文档,您可以创建一个不属于您的模型的 null 选项。这允许您有一个描述性的选项。IE 在他们的例子中他们有-- choose color --. 如何使 null 选项成为默认选项?我希望用户在首次加载页面时看到这个描述性的 null 选项。

如果您还可以告诉我如何通过角度禁用 null 选项,则可以加分。

4

2 回答 2

6

该值自动设置为空。但是,如果您从 REST 接收数据,例如,它将被设置为某个值 - 您可以添加ng-init到您的select标签中。并且对于在选择某些值后禁用 null 选项 - 您需要添加ng-disabled到您的option标签中。

<select ng-model="model" ng-options="item for item in items" ng-init="model = null">
  <option value="" ng-disabled="!!model">--Select option--</option>
</select>

在控制器中:

.controller('MainCtrl', function($scope) {
  $scope.model = 'First';
  $scope.items = ['First', 'Second', 'Third'];
});

演示:http ://plnkr.co/edit/es​​oX26I9bESE59yneOvv

于 2014-10-02T21:46:52.573 回答
2

一旦他们有选择,只需使用 ng-if 将其完全删除。根据我的经验,最好的选择。

<select name="objectSelector"
    ng-model="selectedObject"
    ng-options="obj for obj in Objects" required>
    <option value="" ng-if="!selectedObject">--- Select Object ---</option>
</select>

如果您真的必须在做出选择后显示“--- Select Object ---”,那么您可能只想插入第二个

<option value="" ng-if="!!selectedObject" disabled>--- Select Object ---</option>

然后可见选项将相应显示......还没有找到一种简单的方法来动态设置“禁用”。

于 2014-10-02T21:26:41.450 回答