Chupachar
@Chupachar
front-end dev

Как сохранить выбранный option у select при перезагрузке страницы?

Всем добрый, я уже оставлял подобный вопрос временем ранее, но всё же. Backend возвращает массив вида:
[
 { text: 'male', value: 1 }, 
 { text: 'female', value: 2 }
];

text мне нужен как option в select, а value соответственно как value каждого option. В целом я так и вывожу, но не могу понять как мне сохранять text при перезагрузке страницы? Сохранять text как еще одно свойство в массиве personalDetails или есть какие то еще варианты?
вот код:
https://playcode.io/1701091
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 1
irtek
@irtek
Wordpress-addicted
После перезагрузки страницы всё приложение на Vue обновится, соответственно вам необходимо постоянное временное хранение для состояния этого селекта и возможно других данных.

Самое простое без участия бэкэнда это можно организовать средствами браузера в localStorage. У него есть методы setItem и getItem куда вы можете сохранять строку. Это может быть значение конкретного селекта или объект с разными временными данными, которые необходимы для вашего приложения. Перед сохранением в localStorage не забудьте пропустить объект через JSON.stringify перед сохранением в localStorage, т.к. там можно хранить только строки.

Также при загрузке вашего кода на Vue вам нужно в onMounted вашего компонента прописать проверку если есть данные в localStorage то брать их и устанавливать селект в нужное положение. Если ранее вы сохраняли JSON строку, то необходимо после получения данных из localStorage их распарсить через JSON.parse
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы