From 8f5cdc2bae1ca3ebbe79db52b54591e8a0fb9321 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 17 四月 2025 16:25:05 +0800
Subject: [PATCH] 问题修复

---
 rsf-admin/src/page/components/MyExportButton.jsx |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/rsf-admin/src/page/components/MyExportButton.jsx b/rsf-admin/src/page/components/MyExportButton.jsx
index f70dced..8922271 100644
--- a/rsf-admin/src/page/components/MyExportButton.jsx
+++ b/rsf-admin/src/page/components/MyExportButton.jsx
@@ -6,12 +6,14 @@
   useDataProvider,
   useNotify,
   useListContext,
+  useUnselectAll,
 } from "react-admin";
 
 const MyExportButton = (props) => {
   const {
     maxResults = 1000,
     onClick,
+    ids,
     label = "ra.action.export",
     icon = defaultIcon,
     exporter: customExporter,
@@ -19,16 +21,18 @@
     ...rest
   } = props;
 
-  const { filter, filterValues, resource, sort, total } = useListContext();
-
+  const { filter, selectedIds, filterValues, resource, sort, total } = useListContext();
+  const unSelect = useUnselectAll(resource);
+  console.log(selectedIds);
   const dataProvider = useDataProvider();
   const notify = useNotify();
-
-  const handleClick = useCallback(
+  const handleClick = 
+  // useCallback(
     (event) => {
       dataProvider
         .export(resource, {
           sort,
+          ids: selectedIds,
           filter: filter ? { ...filterValues, ...filter } : filterValues,
           pagination: { page: 1, perPage: maxResults },
           meta,
@@ -43,6 +47,7 @@
           document.body.appendChild(link);
           link.click();
           link.remove();
+          unSelect();
         })
         .catch((error) => {
           console.error(error);
@@ -51,19 +56,19 @@
       if (typeof onClick === "function") {
         onClick(event);
       }
-    },
-    [
-      dataProvider,
-      filter,
-      filterValues,
-      maxResults,
-      notify,
-      onClick,
-      resource,
-      sort,
-      meta,
-    ],
-  );
+    }
+    // [
+    //   dataProvider,
+    //   filter,
+    //   filterValues,
+    //   maxResults,
+    //   notify,
+    //   onClick,
+    //   resource,
+    //   sort,
+    //   meta,
+    // ],
+  // );
 
   return (
     <Button

--
Gitblit v1.9.1