如何在Angular中设置arrayform?
How to set arrayform in Angular?
我正在为我的新应用程序使用 Ionic。
我为用户提供了在本地存储表单 (localstorage) 的选项,但是当页面加载时,它必须加载本地表单。
我尝试将其直接设置为变量,但这不起作用
storeLocal() {
window.localStorage.setItem('form' + this.date, JSON.stringify(this.projects)
}
loadLocal() {
if (window.localStorage.getItem('form' + this.date)) {
this.projects = JSON.parse(window.localStorage.getItem('form' + this.date))
// OR...
this.urenForm.setControl('projects', this._formBuilder.array(JSON.parse(window.localStorage.getItem('form' + this.date))));
}
}
项目数组必须设置为我存储在localStorage中的数组。
setValue
、patchValue
或 reset
是您应该查找的函数,如果 this.urenForm
是 FormArray
class 的实例。
此外,您可以尝试将 getRawValue
的字符串化结果存储在本地存储中,然后使用 setValue
或 reset
.
将其加载到表单中
试试这个
loadLocal() {
const formNameStorage = "form" + this.date;
if (window.localStorage.getItem(formNameStorage)) {
const formData = JSON.parse(window.localStorage.getItem(formNameStorage));
this.urenForm.patchValue(formData);
}
}
saveToStorage() {
const formNameStorage = "form" + this.date;
localStorage.setItem(
formNameStorage,
JSON.stringify(this.urenForm.getRawValue())
);
}
我正在为我的新应用程序使用 Ionic。 我为用户提供了在本地存储表单 (localstorage) 的选项,但是当页面加载时,它必须加载本地表单。
我尝试将其直接设置为变量,但这不起作用
storeLocal() {
window.localStorage.setItem('form' + this.date, JSON.stringify(this.projects)
}
loadLocal() {
if (window.localStorage.getItem('form' + this.date)) {
this.projects = JSON.parse(window.localStorage.getItem('form' + this.date))
// OR...
this.urenForm.setControl('projects', this._formBuilder.array(JSON.parse(window.localStorage.getItem('form' + this.date))));
}
}
项目数组必须设置为我存储在localStorage中的数组。
setValue
、patchValue
或 reset
是您应该查找的函数,如果 this.urenForm
是 FormArray
class 的实例。
此外,您可以尝试将 getRawValue
的字符串化结果存储在本地存储中,然后使用 setValue
或 reset
.
试试这个
loadLocal() {
const formNameStorage = "form" + this.date;
if (window.localStorage.getItem(formNameStorage)) {
const formData = JSON.parse(window.localStorage.getItem(formNameStorage));
this.urenForm.patchValue(formData);
}
}
saveToStorage() {
const formNameStorage = "form" + this.date;
localStorage.setItem(
formNameStorage,
JSON.stringify(this.urenForm.getRawValue())
);
}