当前位置: 首页 > article >正文

react的antd组件中上传图片组件,点击预览却打开新页面,将其改为放大预览

1、引入
 

import type { GetProp } from 'antd';
type FileType = Parameters<GetProp<UploadProps, 'beforeUpload'>>[0];

2、添加状态

  const [previewOpen, setPreviewOpen] = useState(false);
  const [previewImage, setPreviewImage] = useState('');

3、在upload中添加onPreview={handlePreview}事件

  const getBase64 = (file: FileType): Promise<string> =>
    new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.readAsDataURL(file);
      reader.onload = () => resolve(reader.result as string);
      reader.onerror = (error) => reject(error);
    });
//预览事件
  const handlePreview = async (file: UploadFile) => {
    if (!file.url && !file.preview) {
      file.preview = await getBase64(file.originFileObj as FileType);
    }
    setPreviewImage(file.url || (file.preview as string));
    setPreviewOpen(true);
  };

效果图:


http://www.kler.cn/a/537126.html

相关文章:

  • DeepSeek与人工智能的结合:探索搜索技术的未来
  • 离线安装Appium Server
  • 路由器如何进行数据包转发?
  • C++ 课程学习笔记:从对象生命周期看资源管理之道
  • 【DeepSeek论文精读】2. DeepSeek LLM:以长期主义扩展开源语言模型
  • OSPF基础(2):数据包详解
  • centos虚拟机迁移没有ip的问题
  • 论文笔记:Rethinking Graph Neural Networks for Anomaly Detection
  • 第8章《VTK交互》
  • 计算机网络知识速记:HTTP与HTTPS
  • 前端知识自检
  • 模板的进阶
  • android camera hal request
  • unity学习31:Video Player 视频播放相关基础
  • 【Axure教程】标签版分级多选下拉列表
  • makefile 的strip,filter,ifeq,ifneq基础使用
  • 朝天椒USB服务器在湖南电力的应用案例
  • docker run和docker exec的区别及开机启动
  • Centos执行yum命令报错
  • NSS-DAY1
  • 解决错误:CondaHTTPError: HTTP 000 CONNECTION FAILED for url
  • openCV函数使用(二)
  • mac环境下,ollama+deepseek+cherry studio+chatbox本地部署
  • 基于Spring Boot的历史馆藏系统设计与实现(LW+源码+讲解)
  • 通信易懂唠唠SOME/IP——SOME/IP-SD服务发现阶段和应答行为
  • 【大模型】DeepSeek与chatGPT的区别以及自身的优势