【发布时间】:2021-10-25 16:03:44
【问题描述】:
我有很多东西
const reportsData = [
{
name: 'Walter',
Laudos: 1,
},
{
name: 'John',
Laudos: 20,
},
]
然后在我的 react 组件上,我需要在单击复选框时设置一个状态,使我的列表仅过滤该名称。喜欢:
const [searchUser, setSearchUser] = useState('')
{reportsData
.filter((value: any) => {
if (searchUser == '') {
return value
} else if (
value.name
.toLowerCase()
.includes(searchUser.toLowerCase())
) {
return value
}
})
然后在复选框上
<input
type="checkbox"
checked={john} // just for example
onChange={john} // just for example
className="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
/>
我需要当我按下这个时,它会将searchUser 的值更改为“John”。
在这里查看了很多回复,但每个回复都很混乱 asf 或使用 this.setState 而不是 useState。
我怎样才能做到这一点?
【问题讨论】:
-
如果你的意思是当用户按下按钮时你想将'john'文本添加到搜索状态,在按钮
onChange={() => { setSearchUser('john') } }中使用这个 -
不是按钮,是
checkbox类型的输入。只是添加它不起作用,因为当我按下复选框时,是的,它起作用了,但是当我将其选中时,数组上的过滤器不会返回到默认值。我需要那个,当我选中复选框时,setSearchUse返回到(' ') -
对不起,我不知道你想把它改回原来的状态,我现在在答案部分提供答案
标签: javascript reactjs checkbox state use-state