From c65a357fc8b907af755e1ef6a2c201e31eb71e94 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期六, 07 二月 2026 13:50:38 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/components/ConfirmButton.jsx |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/zy-acs-flow/src/page/components/ConfirmButton.jsx b/zy-acs-flow/src/page/components/ConfirmButton.jsx
index e39fe98..7c8661b 100644
--- a/zy-acs-flow/src/page/components/ConfirmButton.jsx
+++ b/zy-acs-flow/src/page/components/ConfirmButton.jsx
@@ -1,13 +1,12 @@
-import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
+import React, { useState } from "react";
 import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';
 import {
-    useTranslate,
+    useTranslate
 } from 'react-admin';
 
 const ConfirmButton = (props) => {
-    const { label, onConfirm, data, ...rest } = props;
+    const { label, onConfirm, renderButton, ...rest } = props;
     const translate = useTranslate();
-    const buttonRef = useRef(null);
     const [open, setOpen] = useState(false);
 
     const handleClickOpen = (event) => {
@@ -25,16 +24,29 @@
         onConfirm();
     };
 
-    return (
-        <>
+    const defaultButtonProps = {
+        onClick: handleClickOpen,
+        'aria-label': translate(label),
+        ...rest,
+    };
+
+    const buttonElement = renderButton
+        ? renderButton({
+            buttonProps: defaultButtonProps,
+            label,
+            translate,
+        })
+        : (
             <Button
-                ref={buttonRef}
-                onClick={handleClickOpen}
-                aria-label={translate(label)}
-                {...rest}
+                {...defaultButtonProps}
             >
                 {translate(label)}
             </Button>
+        );
+
+    return (
+        <>
+            {buttonElement}
             <Dialog
                 aria-labelledby="dialog-title"
                 aria-describedby="dialog-description"
@@ -60,4 +72,4 @@
     )
 }
 
-export default ConfirmButton;
\ No newline at end of file
+export default ConfirmButton;

--
Gitblit v1.9.1