From a23af05b3f8c4616bc5df26fc1a81190992d9946 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Thu, 2 Apr 2026 15:00:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96PreviewImg=E5=92=8CPreviewPdf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PreviewImg/index.d.ts | 2 +- src/components/PreviewPdf/index.d.ts | 2 +- src/components/PreviewPdf/index.js | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/PreviewImg/index.d.ts b/src/components/PreviewImg/index.d.ts index 86133fc..dd8d479 100644 --- a/src/components/PreviewImg/index.d.ts +++ b/src/components/PreviewImg/index.d.ts @@ -2,7 +2,7 @@ import type { FC } from "react"; export interface PreviewImgProps { /** 图片列表 */ - files: any[]; + files: string[] | { filePath?: string; [key: string]: string }[]; /** 图片地址的key,默认 filePath */ fileUrlKey?: string; } diff --git a/src/components/PreviewPdf/index.d.ts b/src/components/PreviewPdf/index.d.ts index 3b454d9..f5dbfc2 100644 --- a/src/components/PreviewPdf/index.d.ts +++ b/src/components/PreviewPdf/index.d.ts @@ -2,7 +2,7 @@ import type { FC } from "react"; export interface PreviewPdfProps { /** 文件列表,和 name、url 冲突 */ - files?: Record[]; + files?: { filePath?: string; fileName?: string; name?: string; [key: string]: string }[]; /** 文件名字段名,传入 files 时会优先查找是否存在 name、fileName */ nameKey?: string; /** 文件路径字段名,传入 files 时会优先查找是否存在 filePath */ diff --git a/src/components/PreviewPdf/index.js b/src/components/PreviewPdf/index.js index b053095..d242a0a 100644 --- a/src/components/PreviewPdf/index.js +++ b/src/components/PreviewPdf/index.js @@ -1,5 +1,6 @@ import { Button, Space } from "antd"; import { useState } from "react"; +import { getFileName } from "../../utils"; import Pdf from "../Pdf"; /** @@ -30,6 +31,10 @@ const PreviewPdf = (props) => { setCurrentName(""); }; + const extractFileName = (item) => { + return item.name || item.fileName || item[nameKey] || getFileName(item.filePath || item[urlKey]); + }; + // 单个文件预览模式 if (files.length === 0 && name && url) { return ( @@ -57,11 +62,11 @@ const PreviewPdf = (props) => { {files.map(item => (
- {item.name || item.fileName || item[nameKey]} + { extractFileName(item)}