我通过<select>
填充了可接受值的ng-options
元素,并绑定到ng-model
的模型。模型可能设置为不可接受的值。 (它曾经是可以接受但不再是。)在这种情况下,AngularJS呈现<select>
就像它选择了一个空项一样。
有没有办法让它呈现所选的值,即使它没有在ng-options
中列出?我知道我可以在<option>
内放置默认<select>
。它比显示一个空项更好,但它是一个静态字符串。我希望显示无效的值。
答案 0 :(得分:1)
有趣的问题。我认为你可以通过结合使用ngInit指令来设置初始值(它可以从允许的选项列表中删除)和ngShow一旦选择了有效选项就隐藏它。
这样的事情:
<select
ng-init="preselected = selected"
ng-change="preselected = null"
ng-model="selected"
ng-options="item.id as item.name for item in items">
<option value="" ng-show="preselected">{{preselected}}</option>
</select>