相关疑难解决方法(0)

onBlur 和 onSubmit 上的 NgModel 更新

我正在尝试使用仅更新 onBlur ( [ngFormOptions]="{updateOn: 'blur'}") 的输入创建表单。但这样做的一个副作用是,一旦用户点击“输入”,表单就不再提交,因为模型仅在模糊时更新。(同这个问题,但没有答案)

因此,表单被标记为无效,因为输入字段中有一个值,但模型尚未使用该值更新。

版本: - Angular 6.0.7 - @angular/forms6.0.7


HTML 示例

<form (ngSubmit)="login()" #loginForm="ngForm" [ngFormOptions]="{updateOn: 'blur'}" [validate-on-submit]="loginForm">
  <input type="text" ([NgModel])="user.username"/>
  <input type="password" ([NgModel])="user.password"/>
</form>
Run Code Online (Sandbox Code Playgroud)

当在两个字段中输入有效文本并点击“回车”时,表单会验证并将密码(具有焦点的输入)标记为无效,因为 NgModel 尚未更新,因此该值无效。


我想要什么

因此,我正在寻找一种方法来验证两个onBlur藏汉作为onSubmit。我知道从 Angular 5 开始我们就有了 option [ngFormOptions]="{updateOn: 'blur'}",但是有没有办法给这个对象提供 2 个参数?

[ngFormOptions]="{updateOn: ['blur', 'submit']}"似乎不起作用)

差点忘了,我希望模型更新onChange(创建烦人的消息,不是很有帮助,因为用户仍在打字..)

forms typescript angular angular-forms

5
推荐指数
1
解决办法
4639
查看次数

标签 统计

angular ×1

angular-forms ×1

forms ×1

typescript ×1