upload的典型案例demo
import React, { useState } from 'react';
import { Upload, Button, message, List } from 'antd';
import { UploadOutlined } from '@ant-design/icons';
interface CustomFile {
uid: string;
name: string;
status: 'done' | 'error' | 'uploading';
url?: string;
}
const DemoUpload: React.FC = () => {
const [fileList, setFileList] = useState<CustomFile[]>([]);
// 校验文件
const beforeUpload = (file: File) => {
const isImage = file.type.startsWith('image/');
if (!isImage) {
message.error('只能上传图片文件!');
return Upload.LIST_IGNORE;
}
return true;
};
// 自定义上传
const customRequest = async (options: any) => {
setFileList(prev => [
...prev,
{
uid: options.file.uid,
name: options.file.name,
status: 'uploading',
},
]);
// 模拟上传
setTimeout(() => {
setFileList(prev =>
prev.map(file =>
file.uid === options.file.uid
? {
...file,
status: 'done',
url: URL.createObjectURL(options.file),
}
: file
)
);
message.success(`${options.file.name} 上传成功`);
options.onSuccess && options.onSuccess('ok');
}, 1000);
};
// 移除文件
const handleRemove = (file: CustomFile) => {
setFileList(prev => prev.filter(f => f.uid !== file.uid));
};
return (
<div>
<Upload
beforeUpload={beforeUpload}
customRequest={customRequest}
showUploadList={false}
multiple
>
<Button icon={<UploadOutlined />}>上传图片</Button>
</Upload>
<List
style={{ marginTop: 16 }}
bordered
dataSource={fileList}
renderItem={item => (
<List.Item
actions={[
<a key="remove" onClick={() => handleRemove(item)}>
移除
</a>,
]}
>
<span>
{item.name} - {item.status}
</span>
{item.url && (
<img
src={item.url}
alt={item.name}
style={{ width: 40, marginLeft: 8 }}
/>
)}
</List.Item>
)}
/>
</div>
);
};
export default DemoUpload;
漫思
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936199.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
# 这个函数对i1进行正则拆分, 返回列表. 跟re.split区别是他保留分隔符.
# 这个函数对i1进行正则拆分, 返回列表. 跟re.split区别是他保留分隔符.import re
# 这个函数对i1进行正则拆分, 返回列表. 跟re.split区别是他保留分隔符.
def resplit(repl, i1): # i1:strpreclean2=[]matches=[]for…
简单聊聊数据可视化大屏制作的前端设计与后端开发
一、概述
数据可视化大屏的制作可分为前端与后端两个部分。前端主要工作是UI设计、数据展示、交互设计等,帮助使用者快速获取所需信息,直观了解数据含义。后端主要工作是数据接入、数据处理、项目部署等,为前端展示…
详细介绍:PPT auto Crorrector
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
[THUWC 2018] 字胡串
只需要使用 Z 函数的单 $\log$ 解法,不依赖于字符集大小。只需要使用 Z 函数的单 \(\log\) 解法,不依赖于字符集大小。
考虑固定 \(B\),比较从 \(x, y\) 插入谁更优(\(x < y\))。删除掉公共的前后缀可知等价于…
2025 年钢结构厂家推荐榜:箱型H型/厂房仓库/电厂/桥梁/农牧业/锅炉/场馆/高层框架/装配式钢结构工厂,聚焦安全与品质,助力建筑项目精准选品
随着装配式建筑政策推进、工业升级及大型基建项目增多,钢结构凭借抗震性强、施工效率高、绿色环保等优势,已成为建筑领域核心材料之一,2025 年市场规模预计持续扩容。但市场增长也带来厂商资质参差、技术能力不一的…
老版本 EasyExcel 一个神出鬼没的异常 - 教程
老版本 EasyExcel 一个神出鬼没的异常 - 教程2025-10-13 15:25
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…
2025 年粮库空调厂家最新推荐榜:聚焦技术创新与实用适配,助力粮库精准选购优质设备粮库空调一体机/粮库空调机组/碳钢喷塑粮库空调/低温粮库空调厂家推荐
引言粮食储备安全关乎国计民生,而粮库空调作为保障粮食品质、减少存储损耗的核心设备,其性能优劣直接影响粮食存储效果。当前市场上粮库空调厂家数量繁杂,产品质量、技术水平与服务能力差异显著,部分产品存在温湿度…
2025 年最新推荐!泳池除湿热泵厂家推荐榜单重磅发布,全方位解析优质厂家实力助您选对设备双模式/多功能/三集一体/全直流变频/室内/变频式泳池除湿热泵厂家推荐
引言
随着室内泳池的普及,泳池环境温湿度控制成为关键难题。高湿度不仅影响游泳者舒适度,还会损害建筑结构、滋生霉菌,传统设备能耗高且控温除湿效果差。如今市场上泳池除湿热泵品牌杂乱,产品质量、技术水平参差不…
django template filter safe escapejs json_script等
========safe==============|safe 可以当作html的tag渲染
====in view:
context[user_content1]="<b>Hello</b>"context[user_content2]="<b>Hello</b>"return render(re…
2025年GEO(AI搜索优化)厂家口碑推荐排行榜
摘要
随着人工智能技术的飞速发展,GEO(AI搜索优化)行业在2025年迎来爆发式增长,企业纷纷寻求高效、低成本的AI搜索优化解决方案以提升数字营销效果。本文基于用户搜索数据和行业调研,为您推荐2025年口碑最佳的GEO…
2025年GEO(AI搜索优化)源头厂家权威推荐榜单:云视有客科技领跑行业新纪元
摘要
随着人工智能技术深度赋能搜索优化领域,2025年GEO(AI搜索优化)市场迎来爆发式增长,行业规模预计突破千亿。本文基于技术参数、服务效能和用户口碑三维度评估,为您权威解析国内优质GEO源头厂家,其中云视有客…
2025年GEO服务商口碑推荐榜单:顶尖AI搜索优化厂家全方位解析
摘要
随着人工智能技术的飞速发展,GEO(AI搜索优化)行业在2025年迎来了爆发式增长,企业对于高效、精准的搜索优化需求日益迫切。本文基于市场调研和用户反馈,为您推荐2025年口碑最佳的GEO服务商,并提供详细排行榜…
2025年GEO(AI搜索优化)厂家口碑推荐榜:云视有客科技领跑行业创新
摘要
随着2025年AI搜索优化行业的快速发展,企业对于高效、精准的GEO服务需求激增,行业年增长率预计达30%以上(数据来源:工信部2024年AI产业报告)。本文基于用户搜索意图,提供2025年GEO厂家口碑排行榜单,并附上详…
2025企业聊天软件排行 5款好用的通讯软件推荐
一、飞书:一体化协作新标杆
飞书以“无缝衔接”为核心理念,整合即时沟通、智能日历、云文档、视频会议等功能,支持多人实时协同编辑与知识库管理,适配互联网、创意产业等高效团队。
特点优势智能文档协同:云文档支…
【触想智能】工业安卓一体机在人工智能领域上的市场应用分析
工业安卓一体机在人工智能(AI)领域上具有广泛的市场应用潜力。工业安卓一体机是指集成了安卓操作系统的硬件设备,具备强大的计算和数据处理能力,适用于各种工业环境。触想工业安卓一体机TPC-A2系列以下是关于工业安卓…
Redis中的线程模型 - 浪矢
目录什么是Redis?Redis性能优秀的原因1 内存数据库2 高效的I/O模型3 简洁高效的通信协议 (Simple Protocol - RESP)Redis的线程模型
什么是Redis?
Redis是NoSQL的数据库,数据保存在内存中(支持RDB,AOF),因此读写…
2025 年油气回收设备厂家最新推荐排行榜:加油站 / 油库 / 码头 / 化工厂适用优质品牌精选
引言当前环保政策日趋严格,油气挥发造成的能源浪费与污染问题已成为石油化工、加油站等行业发展的重要制约因素。然而,市场上油气回收设备品牌繁杂,部分产品存在回收效率低、环保不达标、售后无保障等问题,导致企业…
Vue3 + OpenLayers + 天地图 简单集成
1.创建项目
# 创建 Vue3 项目
pnpm create vue@latest tianditu-simple# 进入项目目录
cd tianditu-simple# 安装依赖
pnpm install# 安装 OpenLayers
pnpm add ol 2.创建地图组件
<!-- src/components/MapContaine…
基于 PyTorch 完全从零手搓 GPT 混合专家 (MOE) 对话模型 - 详解
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
Linux环境下安装Jenkins2.346.3
1. 安装JDK:下载JDK并解压后,配置/etc/profile环境变量export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar2. 安装tom…