ngOpions
会创建一个空白选项,如下面的选项html:
<option value="?" selected="selected"></option>
选择完成后,AngularJS会从select html中删除第一个空选项html。
我有一个用例,我希望将html select的状态回滚到AngularJS删除的未选择的选项。我尝试了ngModel
,$setPristine()
和$rollbackViewValue()
等$setUntouched()
方法。但是这些方法中没有一个使用空选项将选择状态恢复到初始状态。
是否可以在选择后真正回滚AngularJS select元素以获得空选项?
答案 0 :(得分:2)
ngOptions
(line 473 in ngOptions.js)的代码表明只有单一选择才能获得它,而writeValue
函数(在ngModel
更改时调用)必须使用null
值进行调用(不是undefined
,因为使用了===
。)
因此,您可以尝试将模型变量设置为null
。
如果这不起作用,我希望你可能会因为正确的解决方案而失去运气,并且可能需要重新渲染整个指令。您可以创建一个非常简单的指令来执行此操作,类似于此答案中建议的内容:https://stackoverflow.com/a/22133080/624590