如何在 Angular 上使用正确的 markAsDirty

若阿尔多·德·卡瓦略

请有人向我解释使用 markAsDirty 的正确方法。

在我的示例中,如果 markAsDirty 在表单上完成,则任何控件的重置都会将表单更改为原始状态。

这是预期的行为吗?

请参阅https://stackblitz.com/edit/angular-h9gtyf?file=src%2Fapp%2Fapp.component.ts

开发

您需要为重置方法设置选项参数,例如: form2.get('id2').reset(null, {onlySelf: true});

onlySelf选项仅将 reset() 应用于该控件,而不是其父控件。

它的默认值为 false,这就是为什么您的表单在 id2 表单控件重置后被标记为原始的原因。

可以查看angular官方网站:https : //angular.io/api/forms/FormControl#reset

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章