fix: 修复用户管理搜索栏被 ProTable params 覆盖问题
ProTable 的渲染逻辑是:有 params 就渲染内置 ColumnFilter, 否则才渲染 header.title。导致自定义 UserSearchBar 不显示。 - 删除 params 配置 - 新增 buildSearchParams() 将 searchRef 的 type/value 转换为 API 参数 - request 直接调用 buildSearchParams() 而非依赖 filter
This commit is contained in:
parent
8d0ddbb5ef
commit
5019f76a73
@ -89,6 +89,21 @@ export default function User() {
|
|||||||
ref.current?.refresh();
|
ref.current?.refresh();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const buildSearchParams = () => {
|
||||||
|
const { type, value } = searchRef.current;
|
||||||
|
if (!value) return {};
|
||||||
|
switch (type) {
|
||||||
|
case "user_id":
|
||||||
|
return { user_id: Number(value) };
|
||||||
|
case "device":
|
||||||
|
return { search: value };
|
||||||
|
case "subscribe_id":
|
||||||
|
return { subscribe_id: Number(value) };
|
||||||
|
default:
|
||||||
|
return { search: value };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// const { data: userGroupsData } = useQuery({
|
// const { data: userGroupsData } = useQuery({
|
||||||
// queryKey: ["userGroups"],
|
// queryKey: ["userGroups"],
|
||||||
// queryFn: async () => {
|
// queryFn: async () => {
|
||||||
@ -342,39 +357,10 @@ export default function User() {
|
|||||||
}}
|
}}
|
||||||
initialFilters={initialFilters}
|
initialFilters={initialFilters}
|
||||||
key={initialFilters.user_id}
|
key={initialFilters.user_id}
|
||||||
params={[
|
request={async (pagination) => {
|
||||||
{
|
|
||||||
key: "subscribe_id",
|
|
||||||
placeholder: t("subscription", "Subscription"),
|
|
||||||
options: [
|
|
||||||
{ label: t("all", "All"), value: "" },
|
|
||||||
...(subscribes?.map((item) => ({
|
|
||||||
label: item.name!,
|
|
||||||
value: String(item.id!),
|
|
||||||
})) || []),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "search",
|
|
||||||
placeholder: "Search",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "user_id",
|
|
||||||
placeholder: t("userId", "User ID"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "user_subscribe_id",
|
|
||||||
placeholder: t("subscriptionId", "Subscription ID"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "short_code",
|
|
||||||
placeholder: t("shortCode", "Short Code"),
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
request={async (pagination, filter) => {
|
|
||||||
const { data } = await getUserList({
|
const { data } = await getUserList({
|
||||||
...pagination,
|
...pagination,
|
||||||
...filter,
|
...buildSearchParams(),
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
list: data.data?.list || [],
|
list: data.data?.list || [],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user