This is my first time to develop a react application. I tried to implement checkboxes in each row of a table and check which of the rows are selected.
I used useState
hook to make checked and onChange events, but seems the values are not refreshing when I check then uncheck the checkbox.
I would like to ask how to add a logic to remove the unticked values on the hooks.
T1
Checkbox A- Checked
Checkbox B- Checked
CheckedMap- A,B
T2
Checkbox B- Unchecked
CheckedMap- A,B // Unticked Checkbox B is also stored in CheckedMap
Thank you for your help.
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)
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…