我在 Angular 8 中有一个非常基本的选择选项输入控件。用户从下拉列表中选择一个项目,它在下拉列表和ngModel
变量中正确反映。
但是,如果我以编程方式清空源数组,下拉菜单仍然保留旧值,ngModel
并且角度验证显示控件处于“有效”状态。但是,由于源数组现在为空,因此下拉菜单中没有显示任何内容。
我期望ngModel
应该重置并且控制应该处于无效状态,因为现在没有选择任何内容。
我的期望错了吗?还是我做错了什么?
以下是重现该行为的完整示例:
Angular 8:堆栈闪电战
更新1:
我在 Angular 1 中创建了一个示例,该示例完全符合我的预期。如果在选项数组中找不到匹配的选项,AngularJS 会清除模型值。我的观点是,如果下拉列表是空的,那么用户会假设没有选择任何内容。然而,在 Angular2+ 的情况下,它在幕后持有旧模型值。
角度 1:StackBlitz