【发布时间】:2021-12-15 07:51:39
【问题描述】:
在我的表上,当输入一个值时,它作为一个二维数组存储到 localstorage 并映射到一个新的单独行上的表。创建新行时,它也有自己的删除按钮。当单击该删除按钮时,该按钮所在的特定行将被删除。
一个例子是[['hello', 'hi', 'hey'], ['bye', 'goodbye', 'cya']];第一个嵌套数组将它包含的 3 个数据映射到一行,第二个嵌套数组映射到下一行。如果我想删除第一行,我会单击删除按钮,这将导致第一个嵌套数组被删除,从而导致第一行被删除。
由于该表基于本地存储,因此我需要删除该特定数组但保留其他数组。我想我可以通过获取嵌套数组索引并删除它来实现这一点。现在我不确定是否需要使用.splice() 或其他方法?这是我使用的方法,但没有奏效:
const getData = [JSON.parse(localStorage.getItem('pls'))];
const tableDatas = [...getData];
const handleSingleDelete = (index) => {
//what do I place here? I tried this:
getItem.splice(index, 1)
}
...
return(
<Table className="tablesorter" responsive id="maintb">
<tbody id="tbid">
{(tableDatas.map((l,i) => (
<tr key={`${l+i}`} id={`${i}`}>
<td>{tableDatas[i][1]}</td>
<td>{tableDatas[i][2]}</td>
<td>{tableDatas[i][3]}</td>
<td>
<Button onClick={handleSingleDelete}>Delete
</Button>
</td>
</tr>
</tbody>
<Table>
)
【问题讨论】:
-
Spice 是一个不错的选择。但是您没有说明您是否已采取措施更新 localStorage 和应用程序状态。除非你做这些事情,否则这不会起作用。
标签: javascript reactjs reactstrap