回滚 ngOptions select 到 unselected 状态
Roll back ngOptions select to unselected state
如果模型值与任何选项值都不匹配,ngOpions
会创建一个空白选项,例如下面的选项 html:
<option value="?" selected="selected"></option>
完成 selection 后,AngularJS 从 select html.
中删除第一个空选项 html
我有一个用例,我想将 html select 的状态回滚到 AngularJS 删除的未 selected 选项。我尝试了 ngModel
方法,例如 $setPristine()
、$rollbackViewValue()
和 $setUntouched()
。但是 none 这些方法将 select 的状态返回到具有空选项的初始状态。
是否可以真正回滚 AngularJS select 元素以在 selection 生成后具有空选项?
ngOptions
(line 473 in ngOptions.js ) 的代码表明只有单select 可以得到它,并且 writeValue
函数(当 ngModel
更改)必须使用 null
值调用(不是 undefined
,因为使用 ===
。)
因此您可以尝试将模型变量设置为 null
。
如果这不起作用,我想就正确的解决方案而言,您可能不走运,并且可能需要重新呈现整个指令。您可以创建一个非常简单的指令来执行此操作,类似于此答案中的建议:
ngOpions
会创建一个空白选项,例如下面的选项 html:
<option value="?" selected="selected"></option>
完成 selection 后,AngularJS 从 select html.
中删除第一个空选项 html我有一个用例,我想将 html select 的状态回滚到 AngularJS 删除的未 selected 选项。我尝试了 ngModel
方法,例如 $setPristine()
、$rollbackViewValue()
和 $setUntouched()
。但是 none 这些方法将 select 的状态返回到具有空选项的初始状态。
是否可以真正回滚 AngularJS select 元素以在 selection 生成后具有空选项?
ngOptions
(line 473 in ngOptions.js ) 的代码表明只有单select 可以得到它,并且 writeValue
函数(当 ngModel
更改)必须使用 null
值调用(不是 undefined
,因为使用 ===
。)
因此您可以尝试将模型变量设置为 null
。
如果这不起作用,我想就正确的解决方案而言,您可能不走运,并且可能需要重新呈现整个指令。您可以创建一个非常简单的指令来执行此操作,类似于此答案中的建议: