【发布时间】:2020-01-11 07:07:23
【问题描述】:
我有 localStorage 数据列表,我从列表中选择了一个选项,但在我刷新后,所选数据消失了。
selectedColumns: any[] = [];
this.listData = [
{ field: "id", header: "Id", type: "number", value: "id", width: "100px" },
{ field: "description", header: "Description", type: "", value: "description", width: "150px" },
{ field: "status", header: "Status", type: "select", value: "status", width: "100px" },
{ field: "userName", header: 'Moved By', type: "", width: "100px" },
{ field: "lastName", header: 'Moved By', type: "", width: "100px" },
{ field: "rule", header: 'rule', type: "", width: "100px" },
{ field: "domain", header: 'domain', type: "", width: "100px" },
{ field: "date", header: 'date', type: "", width: "100px" },
{ field: "time", header: 'time', type: "", width: "100px" },
{ field: "address", header: 'Moved By', type: "", width: "100px" }
]
for (let i = 0; i <= 8; i++) {
this.selectedColumns[i] = this.listData [i];
localStorage.setItem("column_selections", JSON.stringify(this.selectedColumns));
}
if (JSON.parse(localStorage.getItem("column_selections"))) {
var lsData = JSON.parse(localStorage.getItem("_selections"));
if (lsData) {
this.selectedColumns = lsData;
} else {
for (let i = 0; i <= 7; i++) {
this.selectedColumns[i] = this.listData [i];
}
localStorage.setItem("column_selections", JSON.stringify(this.selectedColumns));
}
}
else if(localStorage!= null){
if(!localStorage.getItem(this.listData ) || JSON.parse(localStorage.getItem('listData ')).length === 0){
localStorage.setItem("listData ", JSON.stringify(this.listData ));
}}
else {
for (let i = 0; i <= 7; i++) {
this.selectedColumns[i] = this.listData [i];
}
localStorage.setItem("column_selections", JSON.stringify(this.selectedColumns));
}
刷新后,我希望选定的 localStorage 数据可见。请帮助我怎么做或者我哪里出错了。
【问题讨论】:
-
您的示例是 a) 不完整和 b) 我找不到任何角码?您在哪里调用此代码?在 stackblitz 上提供一个显示问题的最小示例。
标签: html angular typescript angular-material angular6