在另一个组件中进行路由并在第一个组件中返回时如何保持表单数据不保存在nativescript-localstorage中

时间:2019-01-12 16:27:54

标签: typescript local-storage nativescript

在我的项目中,您找到here,我想将数据保存在存储器中,并以表格形式显示。当存储中有数据时,如果wifi参数本地存储为空,并且表格将为空白,则数据始终显示在家里。如果wifi参数在本地存储中带有“ Mywifi”值,则该表单还将显示“ Mywifi”

图片Image with data 图片Image with empty input

请问我有任何想法如何以表格形式显示数据吗?

1 个答案:

答案 0 :(得分:0)

您所要做的就是使用FormGroup方法,.getRawValue()来获取表单数据作为Object,而.patchValue(data)来设置Object的表单值。

此外,您还必须使用routerExtensions.back()导航回到您来自的页面。使用router.navigate(...)将继续在此处打开主页的新实例。

ngOnInit(): void {
    // Needs relative path to work with Playground
    let LS = require("../nativescript-localstorage");
    // Make sure you don't apply invalid values from your previous cache, you will get invalid boolean exception if then
    this.ConfigurationForm.patchValue(JSON.parse(LS.getItem(ConfigurationComponent.CURRENT_CONFIG) || "{}"));
}

register() {
    // Needs relative path to work with Playground
    let LS = require("../nativescript-localstorage");
    LS.setItem(ConfigurationComponent.CURRENT_CONFIG, JSON.stringify(this.ConfigurationForm.getRawValue()));
    this.routerExtensions.back();
}

Updated Playground