gpt4 book ai didi

javascript - 确定在 react 中选中的复选框的方法(useState)

转载 作者:行者123 更新时间:2023-12-03 07:25:29 25 4
gpt4 key购买 nike

这是我第一次开发 React 应用程序。我试图在表格的每一行中实现复选框并检查选择了哪些行。

我用了useState Hook 以进行检查和 onChange 事件,但是当我检查然后取消选中该复选框时,这些值似乎没有刷新。

我想问一下如何添加一个逻辑来删除钩子(Hook)上未勾选的值。

T1
复选框 A - 选中
复选框 B- 选中
CheckedMap-A,B

T2
复选框 B - 未选中
CheckedMap- A,B//未勾选的复选框 B 也存储在 CheckedMap 中

谢谢您的帮助。

export default function({ infinite }) {
const [checkedMap, setCheckedMap] = useState(new Map());
}

const handleCheckedChange = transaction_seq => {
let modifiedMap = checkedMap;
modifiedMap.set(transaction_seq, !checkedMap.get(transaction_seq));
setCheckedMap(modifiedMap);
};

const columns = [
{
Header: "Transaction(s)",
className: "left",
columns: [
{
id: "checkbox",
accessor: "checkbox",
Cell: ({ row }) => {
return (
<input
type="checkbox"
className="checkbox"
checked={checkedMap.get(row.original.transaction_seq)}
onChange={() =>
handleCheckedChange(row.original.transaction_seq)
}

最佳答案

这是如何将受控复选框与 react useState 一起使用的方式钩。

const { useState } = React; // --> for inline use
// import React, { useState } from 'react'; // --> for real project


const App = () => {
const [checked, setChecked] = useState(false)
const handleClick = () => setChecked(!checked)

return <input onClick={handleClick} checked={checked} type="checkbox" />
};


ReactDOM.render(<App />, document.getElementById('root'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.9.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.9.0/umd/react-dom.production.min.js"></script>
<div id="root"></div>

关于javascript - 确定在 react 中选中的复选框的方法(useState),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56356900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com