[英]trying to delete a specific item from the localStorage array in Javascript
我在删除 Javascript 待办事项列表应用程序的 localStorage 数组中的特定项目时遇到问题。
输入输入值后,使用 localStorage.setItem("myList", JSON.stringify(myList)) 将值推送到 myList 数组和本地存储。
用户可以通过单击旁边的删除按钮从屏幕中删除一个项目,但是当页面刷新时,该项目仍然出现。 这是因为本地存储中的项目没有被删除。
当用户单击该项目旁边的删除按钮时,如何将其从本地存储阵列中删除?
let myList = []
const submitBtn = document.getElementById("submit-btn");
const clearListBtn = document.getElementById("clearList-btn");
const inputEl = document.getElementById("input-btn");
const olEl = document.getElementById("ol-el");
const doneBtn = document.getElementById("done-btn");
const leadFromLocalStorage = JSON.parse(localStorage.getItem("myList"))
if (leadFromLocalStorage) {
myList = leadFromLocalStorage;
render(myList);
}
function render(leads) {
let listItems = " ";
for ( let i = 0; i < leads.length; i++) {
listItems +=
`<li id = " ">
${leads[i]} <button id= "done-btn" onclick = "deleteButton(${i})">X</button>
</li>
`;
}
olEl.innerHTML = listItems;
}
submitBtn.addEventListener("click", function() {
myList.push(inputEl.value);
inputEl.value = " ";
localStorage.setItem("myList", JSON.stringify(myList))
render(myList);
})
clearListBtn.addEventListener("click", function() {
localStorage.clear();
myList = [];
render(myList)
})
function deleteButton(index) {
myList.splice(index, 1);
render(myList);
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div class="box">
<p>To-Do List</p>
<input value = "Add an item!" id = "input-btn">
<button id = "submit-btn">submit</button>
<button id = "clearList-btn">clear list</button>
<ol id="ol-el"></ol>
<script src = "index.js"></script>
</div>
</body>
</html>
在您的deleteButton
function 中,您可以在拼接数组之后添加一行,以将您的列表与localStorage
中的列表同步。
localStorage.setItem("myList", JSON.stringify(myList));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.