如何在 Angular 上使用正确的 markAsDirty
How use correct markAsDirty on Angular
请有人向我解释一下使用 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
请有人向我解释一下使用 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