react-admin:使用 SelectInput 的过滤器显示错误的值
react-admin: Filter with SelectInput shows wrong values
我的 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 进行搜索。
我的 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 进行搜索。