Сохраняйте и сохраняйте выпадающие значения после обновления страницы PrimeNG - PullRequest
0 голосов
/ 21 мая 2018

Как сохранить и сохранить значение раскрывающегося элемента PrimeNG после обновления страницы?

https://www.primefaces.org/primeng/#/dropdown

HTML

<p-dropdown [options]="cities2" [(ngModel)]="selectedCity2" optionLabel="name"></p-dropdown>

Машинопись

   import {SelectItem} from 'primeng/api';

    interface City {
      name: string;
      code: string;
    }

    export class MyModel {
        cities2: City[];
        selectedCity2: City;

        constructor() {
            //An array of cities
            this.cities2 = [
                {name: 'New York', code: 'NY'},
                {name: 'Rome', code: 'RM'},
                {name: 'London', code: 'LDN'},
                {name: 'Istanbul', code: 'IST'},
                {name: 'Paris', code: 'PRS'}
            ];
        }
       ngOnInit(){
        localStorage.setItem('key', this.selectedCity2);
        const getItem = localStorage('key');
        this.selectedCity2 = getItem;


    }

1 Ответ

0 голосов
/ 21 мая 2018

Прежде всего, чтобы установить (или получить) объект javascript в (или из) localStorage, используйте метод JSON.stringify (или JSON.parse).

Затем в методе ngOnInit выдолжен только получить значение, хранящееся в вашем localStorage, и вы не должны обновлять его, как оно есть в вашем коде.

Таким образом, этот метод становится:

  ngOnInit() {
    // get localStorage value
    this.selectedCity2 = JSON.parse(localStorage.getItem('key'));
  }

Наконец, каждый раз, когда вы выбираете элемент вваш выпадающий элемент, вы должны обновить его значение в localStorage следующим образом:

  saveInLocalStorage() {
    // update localStorage value
    localStorage.setItem('key', JSON.stringify(this.selectedCity2));
  }

См. StackBlitz

...