import React, { useEffect, useState } from "react";
const userData = [
{ name: "birthday" },
{ name: "menuCard" },
{ name: "Business" },
{ name: "Election" },
{ name: "Logo" }
];
const Check = ()=> {
const [users, setUsers] = useState([]);
console.log(users)
useEffect(() => {
setUsers(userData);
}, []);
const handleChange = (e) => {
const { name, checked } = e.target;
if (name === "allSelect") {
let AllChecks = users.map((preV) => {
return { ...preV, isChecked: checked };
});
setUsers(AllChecks);
} else {
let AllChecks = users.map((preV) =>
preV.name === name ? { ...preV, isChecked: checked } : preV
);
setUsers(AllChecks);
}
};
return (
<div className="container my-4" style={{ width: "500px" }}>
<form className="form w-100">
<h3>Select Users</h3>
<div className="form-check">
<input
type="checkbox"
className="form-check-input"
name="allSelect"
checked={!users.some((user) => user?.isChecked !== true)}
onChange={handleChange}
/>
<label className="form-check-label ms-2">All Select</label>
</div>
{users.map((user, index) => (
<div className="form-check" key={index}>
<input
type="checkbox"
className="form-check-input"
name={user.name}
checked={user?.isChecked || false}
onChange={handleChange}
/>
<label className="form-check-label ms-2">{user.name}</label>
</div>
))}
</form>
</div>
);
}
export default Check;

Post a Comment