reactjs - react-admin:使用 SelectInput 过滤显示错误的值
问题描述
我的应用程序中的以下过滤器react-admin
导致列表显示带有status === "active"
和 的记录status === "inactive"
。它应该只显示带有status === "active"
.
<SelectInput
alwaysOn
source="status"
choices={[
{ id: "lead", name: "Lead" },
{ id: "active", name: "Aktiv" },
{ id: "inactive", name: "Inaktiv" },
]}
/>
似乎它包含记录,status === "inactive"
因为“inactive”包含子字符串“active”。
我能做点什么吗?我是否配置错误DataProvider
?我正在使用react-admin-firebase
.
解决方案
react-admin-firebase 在搜索字符串时总是做模糊搜索:
const isStringSearch = typeof searchValue === 'string';
if (isStringSearch) {
return searchThis
.toString()
.toLowerCase()
.includes(searchValue.toLowerCase());
}
一种解决方案是使用数字status
代替:
<SelectInput
alwaysOn
source="status"
choices={[
{ id: 1, name: "Lead" },
{ id: 2, name: "Aktiv" },
{ id: 3, name: "Inaktiv" },
]}
/>
另一种解决方案是启用延迟加载以直接针对您的 Firebase 进行搜索。
推荐阅读
- python - Python:Word 到 Pdf 错误(OSError:[WinError -2147221005] 无效的类字符串)
- python - 如何修改 Python 的 Itertool 函数?
- android - 互联网连接速度慢时改造中的 SocketTimeoutException
- javascript - 如何使用 Mocha 和 JSDOM 模拟 window.location.search
- amazon-web-services - 在 Sagemaker 的笔记本实例上自动执行 Docker Run 命令
- php - php精度与大数字
- java - 当您按下该字段时,AutoCompleteTextView 不会显示您的所有选项
- html - 为什么这些 div 会相互重叠?
- node-red - 如何从 nodered 中删除未使用的配置节点
- optaplanner - 延长学校时间表示例(quarkus 指南)