如何在 角度6中存储本地存储值?

问题描述 投票:0回答:1

实际上,我有两个页面,productList页面和productDetail页面,要查看单个产品的详细信息,我可以查看每个产品列表中的产品的按钮。如下所示,

    A    |     B    |  C   | Action
    ---------------------------
    aaa  |   bbb    | ccc  | View
    abc  |   def    | ghi  | View

此外,列表页面中的每个字段都有过滤条件。例如,对于过滤字段“ A”,我使用了常规选择;对于“ B”,我使用了多选下拉菜单,ng-multiselect-dropdown

场景,

  1. 在列表页面中,如果我对B进行过滤,则应适用。

  2. 然后,我单击查看按钮,然后查看详细信息。

  3. 再次回到列表页面,应该在其中进行过滤。(我正在尝试的概念)

    ] >>
  4. 为了进行过滤,我使用了普通的select<ng-multiselect-dropdown>

对于以上概念,我使用了本地存储方法。

及其对select的作用。

但是在<ng-multiselect-dropdown>的情况下,正在应用过滤。但是,如果我转到详细信息页面并返回到列表页面,则该过滤没有被应用。

  1. 下面是应用的代码;

                  <label>Status</label>
                  <ng-multiselect-dropdown [data]="statusList" name="iorstatus" #iorstatus="ngModel"
                    [(ngModel)]="selectedItems" [settings]="dropdownSettings" (onSelect)="onItemSelect($event)"
                    (onDeSelect)="statusDeSelect($event)">
                  </ng-multiselect-dropdown>
                </div>
    
  2. 本地存储

  3. const testObject = {
      status: this.displayStatusList
    }
    

    localStorage.setItem('testObject',JSON.stringify(testObject));

    从这一步:我得到了状态中的选择值。

  1. 然后我应用了方法

     onInit(){
        this.getMethod()
     }
    
    getMethod(){
      if (localStorage.getItem('testObject')) {
        let filterObject = localStorage.getItem('testObject');
        this.iorfilteroptions = JSON.parse(filterObject);
        this.iorstatus = this.iorfilteroptions.status;
        this.selectedItems= this.iorfilteroptions.status;
        this.displayStatusList = this.iorfilteroptions.status;
       } 
     }
    
  2. 但是这不起作用...有人可以帮我吗?

实际上,我有两个页面,productList页面和productDetail页面,为了查看单个产品的详细信息,我为每个产品列表的产品都有View Button。如下所示B | C ...

angular angular6 angular5 angular7
1个回答
0
投票

您需要将所选项目数组对象的语法设置为与数据对象相同。

© www.soinside.com 2019 - 2024. All rights reserved.