我有搜索组件,将搜索用户名,全名,电子邮件和组织,下面是它的代码
const filterUser = (query, users) => {
if (!query) {
return users;
} else {
const filtered = users.filter((u) => {
return (
u.fullname.toLowerCase().startsWith(query.toLowerCase()) ||
u.username.toLowerCase().startsWith(query.toLowerCase()) ||
u.email.toLowerCase().startsWith(query.toLowerCase()) ||
u.organization[0].toLowerCase().startsWith(query.toLowerCase())
);
});
return filtered;
}
};
我想更新它的用户搜索输入字段,我已经与下拉按钮如图所示:显示
现在选择任何字段,我将设置值字段,但如何处理查询?我试过这样做,但它不起作用
const [value , setValue] = useState("username")
const filterUser = (query, users , value) => {
if (!query) {
return users;
} else {
const filtered = users.filter((u) => {
return (
u.value.toLowerCase().startsWith(query.toLowerCase()) ||
);
});
return filtered;
}
};
u.value.toLowerCase().startsWith(query.toLowerCase())
正在寻找"对象名称为"value"
相反,尝试使用像这样的属性访问器u[value].toLowerCase().startsWith(query.toLowerCase())