angular - 在 Angular 中存储/恢复路径更改时的部分表单值
问题描述
在路线之间导航时,您将如何实现保存部分填写的表格?
例如。用户开始填写表格,但决定导航到不同的路线,然后返回原始表格。
通常情况下,当组件被销毁时,所有已经填充的数据都会丢失,所以我需要在离开路由时以某种方式存储它们。
我正在为应用程序中的所有表单寻找通用解决方案。
我所有的表格都有:
constructor(private fb: FormBuilder, private router: Router) {
this.form = fb.group({
...
我试图创建RouteGuard
实现CanDeactivate
接口。
这使我能够挂钩组件卸载事件,并查看component.form.pristine
状态并最终存储component.form.value
到localStorage
.
所以现在应用程序中使用这个守卫的所有表单都将它们的值保存到本地存储中。
下一步是在创建具有表单的组件时从该存储中加载数据。
我正在寻找在构造函数之后为每个组件调用的东西。
我可以使用解析器,但在我的应用程序中我一般不使用它们(我更喜欢看到布局部分是可见的+进度指示器)。
也许我可以延长FormBuilder
?
在这种常见情况下,通常的模式是什么?
解决方案
推荐阅读
- netsuite - 从 NetSuite 提取 10 多条记录以获取交付证明 API
- c - ptd 中的星 * = (double *) malloc(30 * sizeof(double))
- html - Webpack Pug/HTML 加载器在生产模式下将大写字母转换为小写
- shell - unix 命令 'zip' 或 'compress' - 文件大小比以前大
- python - 如何使用 python google 客户端 api 从 GCP 获取计费周期?
- .net - System.MissingMethodException:尝试使用 VSCode 调试时在程序集中找不到入口点
- firebase - FirebaseError:Firebase:没有创建 Firebase 应用“[DEFAULT]” - 调用 Firebase App.initializeApp()
- vb.net - 在 MsChart 中将轴设置为对数刻度不断弹出此错误“图表区域轴 - 对数刻度不能用于此轴。”
- r - 合并或熔化不能将行对转换为 R 中的列?
- android - 是否可以创建一个具有空构造函数的 Parcelable 类?