Сохранение значения флажка из объекта в Localstorage и получение его снова - PullRequest
0 голосов
/ 25 октября 2018

Итак, у меня есть список элементов с флажками, и я скрываю и показываю их на основе значения флажка.Например, в начале, все, если элементы проверены, что означает, что их видимость установлена ​​в true.Если я сниму флажок, для него будет установлено значение false, и они будут скрыты.Этот список находится в модальном режиме, который действует как функция «фильтровать этот список».

Однако я пытаюсь установить значения localalstorage, а затем, когда пользователь обновляется, применяемые им фильтры остаются.

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

volumeFilter(symbol, visible) {
            const self = this;
            this.marketFiltersStorage[symbol] = this.marketFiltersStorage[symbol] || {};
            lodash.forEach(self.volumeData, (obj, objKey) => {
                if (symbol === obj.name && self.volumeData[objKey].visible === true) {
                    self.volumeData[objKey].visible = false;
                    this.marketFiltersStorage[symbol].visible = self.volumeData[objKey].visible;
                } else if (symbol === obj.name && visible === false && self.volumeData[objKey].visible === false) {
                    self.volumeData[objKey].visible = true;
                    this.marketFiltersStorage[symbol].visible = self.volumeData[objKey].visible;
                }
                localStorage.setItem('marketFiltersStorage', JSON.stringify(this.marketFiltersStorage));
            });
        },

Так что VolumeFilter - это то, что срабатывает, когда я ставлю / снимаю флажок.marketFilterStorage - это объект, который я создал для хранения значений в локальном хранилище.volumeData - это объект, который содержит все элементы.

Логика здесь if (symbol === obj.name && self.volumeData[objKey].visible === true) - это то, что я устанавливаю видимость элемента в true или false

То, что я пытался сделать, это циклчерез каждый элемент и для каждого условия добавьте true / false в локальное хранилище, показанное здесь;this.marketFiltersStorage[symbol].visible = self.volumeData[objKey].visible;

Это своего рода работа, но когда я обновляюсь, локальное хранилище остается, но когда я пытаюсь установить или снять другой флажок, оно перезаписывается снова.

Короче говоря, япросто хотите добавить значение visible в локальное хранилище, а затем снова загрузить его при перезагрузке страницы.Я еще не реализовал getItem

Мне очень жаль, если это много, чтобы ответить. Если у вас есть какие-либо вопросы, я буду более чем рад попытаться объяснить это более четко.

Большое спасибо за любую помощь заранее

...