根据Angular documentation,您可以创建一个不属于模型的null选项。这允许您有一个描述性选项。 I.E.在他们的例子中,他们有-- choose color --
。如何将null选项设为默认选项?我希望用户在首次加载页面时看到此描述性空选项。
奖励积分如果您还可以告诉我如何通过角度禁用空选项。
答案 0 :(得分:6)
该值自动设置为null。
但是,如果您从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'];
});
答案 1 :(得分: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>
如果真的,真的必须在做出选择之后显示'---选择对象---',那么你可能只想插入第二个
<option value="" ng-if="!!selectedObject" disabled>--- Select Object ---</option>
然后相应地显示可见选项...还没有找到一种动态设置'禁用'的简单方法。