skyouc
9 天以前 b9d414bc2d61b4824ce6a019b1c10f526f71ced1
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,17 @@
    ...rest
  } = props;
  const { filter, filterValues, resource, sort, total } = useListContext();
  const { filter, selectedIds, filterValues, resource, sort, total } = useListContext();
  const unSelect = useUnselectAll(resource);
  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 +46,7 @@
          document.body.appendChild(link);
          link.click();
          link.remove();
          unSelect();
        })
        .catch((error) => {
          console.error(error);
@@ -51,19 +55,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