优化PreviewImg和PreviewPdf
parent
8c1ecf7488
commit
a23af05b3f
|
|
@ -2,7 +2,7 @@ import type { FC } from "react";
|
||||||
|
|
||||||
export interface PreviewImgProps {
|
export interface PreviewImgProps {
|
||||||
/** 图片列表 */
|
/** 图片列表 */
|
||||||
files: any[];
|
files: string[] | { filePath?: string; [key: string]: string }[];
|
||||||
/** 图片地址的key,默认 filePath */
|
/** 图片地址的key,默认 filePath */
|
||||||
fileUrlKey?: string;
|
fileUrlKey?: string;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import type { FC } from "react";
|
||||||
|
|
||||||
export interface PreviewPdfProps {
|
export interface PreviewPdfProps {
|
||||||
/** 文件列表,和 name、url 冲突 */
|
/** 文件列表,和 name、url 冲突 */
|
||||||
files?: Record<string, any>[];
|
files?: { filePath?: string; fileName?: string; name?: string; [key: string]: string }[];
|
||||||
/** 文件名字段名,传入 files 时会优先查找是否存在 name、fileName */
|
/** 文件名字段名,传入 files 时会优先查找是否存在 name、fileName */
|
||||||
nameKey?: string;
|
nameKey?: string;
|
||||||
/** 文件路径字段名,传入 files 时会优先查找是否存在 filePath */
|
/** 文件路径字段名,传入 files 时会优先查找是否存在 filePath */
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import { Button, Space } from "antd";
|
import { Button, Space } from "antd";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
import { getFileName } from "../../utils";
|
||||||
import Pdf from "../Pdf";
|
import Pdf from "../Pdf";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -30,6 +31,10 @@ const PreviewPdf = (props) => {
|
||||||
setCurrentName("");
|
setCurrentName("");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const extractFileName = (item) => {
|
||||||
|
return item.name || item.fileName || item[nameKey] || getFileName(item.filePath || item[urlKey]);
|
||||||
|
};
|
||||||
|
|
||||||
// 单个文件预览模式
|
// 单个文件预览模式
|
||||||
if (files.length === 0 && name && url) {
|
if (files.length === 0 && name && url) {
|
||||||
return (
|
return (
|
||||||
|
|
@ -57,11 +62,11 @@ const PreviewPdf = (props) => {
|
||||||
{files.map(item => (
|
{files.map(item => (
|
||||||
<div key={item.filePath || item[urlKey]} style={{ marginTop: 5 }}>
|
<div key={item.filePath || item[urlKey]} style={{ marginTop: 5 }}>
|
||||||
<Space>
|
<Space>
|
||||||
<span>{item.name || item.fileName || item[nameKey]}</span>
|
<span>{ extractFileName(item)}</span>
|
||||||
<Button
|
<Button
|
||||||
type="primary"
|
type="primary"
|
||||||
size="small"
|
size="small"
|
||||||
onClick={() => previewPdf(item.filePath || item[urlKey], item.name || item.fileName || item[nameKey])}
|
onClick={() => previewPdf(item.filePath || item[urlKey], extractFileName(item))}
|
||||||
>
|
>
|
||||||
预览
|
预览
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue