angular - Angular 7响应式表单如何重置表单并获取其初始值而不是将它们重置为空值
问题描述
有没有办法将反应式表单组重置为其初始值,而不是使用.reset()
方法将其清空?
我有以下stackblitz,其中默认选择值为Parent
,如果用户将其更改为姐妹,并希望将表单设置为初始值,请单击重置按钮执行此操作。
目前,我尝试过:
this.formGroup.reset();
//Or
this.formGroup.markAsPristine;
//Or
this.formGroup.markAsTouched
.reset()
完全重置表格。
PS 有人可能会说用户可以重新选择默认值,而不是点击重置按钮。但就我而言,我有一个巨大的用户表单,他需要在其中更新他的信息,如果他在某些值上弄错了,他可能需要重置为初始值。
解决方案
您可以保存表单初始值:
this.initialValues = this.formGroup.value;
然后将这些值传递给重置函数:
this.formGroup.reset(this.initialValues);
推荐阅读
- clojure - 使用 clojurescript 在浏览器中部署 Clojure 控制台程序?
- image - 如何使用 GIMP 防止色带?
- mysql - SQLite - 将 MySQL 触发器转换为在 SQLite 上工作
- python - 在 Apple 的硅片上通过 Pycharm 运行 TF 的问题
- fiware - FIWARE - 是否有任何请求标头转发给 Orion Context Provider?
- amazon-web-services - 为什么我不能 ssh 到不同的实例类型(p3 而不是 m4/g4)?
- python - 我想从 Selenium Scrape 数据中将地图保存在 JSON 文件中
- gitlab - Gitlab 管道中仅执行一项作业
- reactjs - Firebase 身份验证仅适用于开发环境
- matlab - 如何使用 MATLAB 加载 .mat 图像文件