From d6e0c2b3967a4e5facc5068698b5fa57dc6e2fdd Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Sat, 15 Nov 2025 17:13:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Signature?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Signature/index.d.ts | 2 ++ components/Signature/index.js | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/components/Signature/index.d.ts b/components/Signature/index.d.ts index 66dbff9..cae62af 100644 --- a/components/Signature/index.d.ts +++ b/components/Signature/index.d.ts @@ -16,6 +16,8 @@ export interface SignatureProps { width?: number; /** 签字区域高度,默认为 300 */ height?: number; + /** 回显的签字图片 */ + url?: string; } /** diff --git a/components/Signature/index.js b/components/Signature/index.js index 4d2e7e2..1270226 100644 --- a/components/Signature/index.js +++ b/components/Signature/index.js @@ -1,6 +1,6 @@ import { Button, Image, message, Modal } from "antd"; import dayjs from "dayjs"; -import { useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import SignatureCanvas from "react-signature-canvas"; import { base642File } from "../../utils"; @@ -12,12 +12,16 @@ function Signature(props) { onConfirm, width = 752, height = 300, + url = "", ...restProps } = props; const [signatureModalOpen, setSignatureModalOpen] = useState(false); const signatureCanvas = useRef(null); const [base64, setBase64] = useState(""); + useEffect(() => { + setBase64(url); + }, [url]); const onOk = () => { if (signatureCanvas.current.isEmpty()) { @@ -49,7 +53,7 @@ function Signature(props) { {base64 && (
- +
)}