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

东莞建外贸企业网站企业网站开发协议

东莞建外贸企业网站,企业网站开发协议,dw 做网站的思路,wordpress如何添加链接菜单前言 在React项目中#xff0c;展示和预览多张图片是一种常见的需求。本篇帖子将介绍如何使用React和antd库来实现这一功能#xff0c;并探讨如何在预览模态框中切换到前一张或后一张图片。 背景 我们将以一个OCR图像列表展示的示例来演示代码的运用。假设我们有一个OCR系…前言 在React项目中展示和预览多张图片是一种常见的需求。本篇帖子将介绍如何使用React和antd库来实现这一功能并探讨如何在预览模态框中切换到前一张或后一张图片。 背景 我们将以一个OCR图像列表展示的示例来演示代码的运用。假设我们有一个OCR系统可以将图片文件中的文本提取出来。我们希望在前端展示从OCR系统返回的图像列表并支持点击图片来进行预览。此外我们还希望在预览模态框中能够实现切换到前一张或后一张图片的功能。下面是具体的操作示例 操作示例 首先我们需要导入所需的组件和hooks: import React, { useEffect, useState } from react; import { Row, Col, Modal} from antd;接下来我们定义一个Splitor组件该组件将用于展示多张图片和实现预览功能 const Splitor: React.FC () {const [ocrImageList, setOcrImageList] useStateETEST.ImageInfo[]([]); // 图片列表的状态const [visible, setVisible] useState(false); // 大图预览的可见性状态const [currentImage, setCurrentImage] useState(); // 当前点击的图片路径useEffect(() {const intervalId setInterval(updateOcrImageList, 1000 * 10); // 创建定时器每 10 秒钟调用一次 updateOcrImageList 函数// 组件卸载时清除定时器return () {clearInterval(intervalId);};}, []);const updateOcrImageList async () {try {const msg await ocrList(); // 调用 ocrList 函数获取最新的图片列表console.log(ocrList响应数据, msg.data);if (msg.isSuccess msg.data.length 0) {setOcrImageList(msg.data); // 更新图片列表状态}} catch (error) {console.error(error);}};const handleImageClick (imagePath: string) {setCurrentImage(imagePath); // 设置当前点击的图片路径setVisible(true); // 显示大图预览};return (Row gutter{24}{/* 遍历渲染图片列表 */}{ocrImageList.map((image) ({/* 图片容器 */}Col span{4} key{image.id}{/* 图片元素 */}div style{{ border: 1px solid #ccc, borderRadius: 8px, padding: 16px, marginBottom: 20px }}imgsrc{image.imgPath}alt{image.id}style{{ width: 100%, objectFit: contain, cursor: pointer }}onClick{() handleImageClick(image.imgPath)} // 点击图片时调用 handleImageClick 函数//div{/* 图片描述 */}div style{{ textAlign: center }}{image.content}/div // 显示图片内容/Col))}{/* 大图预览弹窗 */}Modal visible{visible} onCancel{() setVisible(false)} footer{null} classNamecustom-modalimg src{currentImage} altPreview style{{ height: 100%, width: 100% }} //Modal/Row); };在上述代码中我们使用useState来维护了多个状态变量包括ocrImageList图片列表数据、visible控制模态框的显示与隐藏、currentImage当前要预览的图片路径。 我们通过updateOcrImageList函数来异步获取ocrImageList数据并在handleImageClick函数中实现了点击图片触发预览的功能。 在返回的JSX中我们通过遍历ocrImageList并使用antd的Col和Row组件来展示图片。图片被点击后会调用handleImageClick函数来设置currentImage和visible状态从而展示预览模态框。 拓展预览图片切换 导入新增 import Lightbox from react-image-lightbox;import react-image-lightbox/style.css;在预览模态框中切换到前一张或后一张图片。以下是相应的代码更改调整 // ...// 点击图片触发预览功能 const handleImageClick (index: number) {setPreviewIndex(index); };// 关闭预览 const handleClosePreview () {setPreviewIndex(-1); };// 创建预览图片路径数组 const previewImages ocrImageList.map((image) image.imgPath);return (Row gutter{24}{/* 遍历渲染图片列表 */}{ocrImageList.map((image, index) (Col span{4} key{image.id}{/* 图片容器 */}div style{{ border: 1px solid #ccc, borderRadius: 8px, padding: 16px, marginBottom: 20px }}{/* 图片元素 */}imgsrc{image.imgPath}alt{image.id}style{{ width: 100%, objectFit: contain, cursor: pointer }}onClick{() handleImageClick(index)} // 点击图片时调用 handleImageClick 函数//div{/* 图片描述 */}div style{{ textAlign: center }}{image.content}/div/Col))}{/* 如果正在预览图片渲染预览模态框 */}{previewIndex ! -1 (Lightbox// 配置预览相关属性mainSrc{previewImages[previewIndex]}nextSrc{previewImages[(previewIndex 1) % previewImages.length]}prevSrc{previewImages[(previewIndex previewImages.length - 1) % previewImages.length]}onCloseRequest{handleClosePreview}onMovePrevRequest{() setPreviewIndex((previewIndex previewImages.length - 1) % previewImages.length)}onMoveNextRequest{() setPreviewIndex((previewIndex 1) % previewImages.length)}/)}/Row );// ...在上面的代码中我们使用了react-image-lightbox库来实现图片预览功能。当用户点击图片时将打开预览模态框并可以在预览模态框中切换到前一张或后一张图片。关闭预览模态框时预览索引将被重置为-1。 注意上述代码仅为示例。你可以根据自己的需求进行进一步的样式和逻辑调整。 总结 本篇帖子介绍了如何使用React和antd库实现多图片预览功能并在预览模态框中实现了切换到前一张或后一张图片的拓展功能。通过对状态的管理和处理用户点击事件我们可以轻松地实现这一功能。希望本篇文章能帮助你理解和应用多图片预览的技术实现方法。
http://www.hkea.cn/news/14451240/

相关文章:

  • 网站开发学什么语言郑州网站建设专业公司
  • 要建网站怎么做班级网站界面
  • 杭州网站建设ttmwl制作网站源码
  • 网站遭受攻击网页培训机构
  • 用ssh做的网站做网站满屏的照片尺寸是多少
  • 广州做贸易网站鄂尔多斯 网站制作
  • 白沙的网站建设外网无法访问WordPress
  • 福州市建设管理处网站宁波网络推广外包
  • 找网站做网站做网站哈密网站建设公司哪家专业
  • 如何建立一个网站英语作文四川做网站多少钱
  • 专业网站建设哪里找衡水做企业网站的公司
  • 国外做gif的网站wordpress 重新生成缩略图
  • 沧县网站制作价格高安网站制作
  • 营销型网站分为哪几种中天建设南京公司
  • 长春网站建设免费咨询永久免费的电销外呼系统
  • 哪个网站找做软件专业网站排名优化
  • 价格网站网页创意的再设计
  • 优化网站性能免费wordpress响应式企业主题
  • 做任务兼职赚钱的网站cms建站步骤
  • 怎么找有赞做网站佛山优化网站方法
  • 惠州做棋牌网站建设阿森纳英超积分
  • 我是做性视频网站北京营销网站建站公司
  • 重庆微网站建设哪家好wordpress文章添加浏览数
  • asp网站配置文学网站建设平台
  • 网站做线上销售wordpress动漫小人
  • 域名的时间长短与网站权重关系网站设计师接单
  • 阿里巴巴做网站费用计入小学手工制作100种
  • 江宁建设局网站58网页版登录打开
  • 网站中页面链接怎么做的wordpress 无法登录后台
  • 帝国建站教程做直播网站有哪些