Я создавал приложение Electron, чтобы показывать расположение Алтарей Лилит (Diablo 4) с помощью -игровые локации и внутриигровая карта. Элементы создаются с помощью литеральных шаблонов JS, взятых из JSON.
Я хотел бы разрешить пользователю щелкнуть метку (я использую флажок, который скрыт через CSS с меткой разрешить функция щелчка), чтобы скрыть элемент. Я перепробовал все, что мог, чтобы localStorage сохранил это состояние. Но по какой-то причине я где-то все испортил.
У меня есть темный/светлый режим, который также использует localStorage, и он работает нормально.
Это мой первый пост о SO, поэтому я не знаю, как это сделать. Я загрузил проект на Github, если ссылка на него будет полезна.
Шаблон алтаря Fractured Peaks:
Код: Выделить всё
function altarsTemplate(altar) {
return `
${altar.name}
[img]${altar.mapImage}[/img]
[img]${altar.inGameImage}[/img]
Number
Region
Sub-Region
Area
Reward
${altar.number}
${altar.region}
${altar.subregion}
${altar.area}
${altar.reward}
`;
}
document.getElementById("fracturedPeaksLilithAltars").innerHTML = `${altarData.map(altarsTemplate).join('')}`;
Код: Выделить всё
Note: Just moved all Fractured Peaks data into 1 JS file to make it easier - Since there is going to be about 300 or so objects to these arrays.
Код: Выделить всё
const altarData = [
{
"number": "01",
"name": "Desolate Highlands Altar of Lilith #1",
"region": "Fractured Peaks",
"subregion": "Desolate Highlands",
"area": "Eastern Pass",
"mapImage": "./img/altar-of-lilith/fractured-peaks/map/01-map.webp",
"inGameImage": "./img/altar-of-lilith/fractured-peaks/in_game/01-in_game.webp",
"reward": "+2 Dexterity",
"dataID": "fractPeaksAltar01",
"dataIDChecked": "fractPeaksAltar01_checked",
"onCheckMark": "document.getElementById('fractPeaksAltar01').classList.toggle('hide')",
}
];
electron-store,
electron-settings,
варианты "localStorage.setItem( 'checkbox', отмечен);"
Я использовал учебные пособия и примеры как из SO, так и из таких вещей, как:
https://codepen. io/kylastoneberg/pen/qweppq
Из изображения: В красной области находится метка. При нажатии элемент будет скрыт. Сейчас статус скрытости не сохраняется в localStorage, а когда приложение закрывается и перезапускается - он возвращается.
[1]: https://i.sstatic.net/4Cb3KbLj.png
Подробнее здесь: https://stackoverflow.com/questions/786 ... ectron-app