ReactJS UI Ant Design 上传组件
Ant Design Library 已经预先构建了这个组件,并且它也很容易集成。上传组件用于通过选择或拖动来上传文件。我们可以在 ReactJS 中使用以下方法来使用 Ant Design 上传组件。
上传道具:
- accept:用来表示可以接受的文件类型。
- action:用于表示上传的 URL。
- beforeUpload:上传前会执行的Hook函数。
- customRequest:用于覆盖默认的 xhr 行为。
- data:用于上传额外的参数或可以返回上传额外参数的函数。
- defaultFileList:用于表示已上传文件的默认列表。
- 目录:用于支持上传整个目录。
- disabled:用于禁用上传按钮。
- fileList:用于表示已上传文件的列表。
- headers:用于设置请求头。
- iconRender:用于自定义显示图标。
- isImageUrl:用于自定义是否在缩略图中渲染 。
- itemRender:用于uploadList的自定义item。
- listType:内置样式表,支持文本、图片或图片卡片类型。
- maxCount:用于限制上传文件的数量。
- method:上传请求的HTTP方法。
- multiple:用于表示是否支持选中的多个文件。
- name:用于表示上传文件的名称。
- openFileDialogOnClick:用于在单击文件时打开文件对话框。
- previewFile:用于自定义预览文件逻辑。
- progress:用于自定义进度条。
- showUploadList:用于指示是否显示默认上传列表。
- withCredentials:它是带有 cookie 的 Ajax 上传。
- onChange:上传状态发生变化时触发的回调函数。
- onDrop:是文件拖放到上传区域时触发的回调函数。
- onDownload:点击下载文件的方法。
- onPreview:当点击文件链接或预览图标时触发的回调函数。
- onRemove:是一个回调函数,当点击删除文件按钮时触发。
上传文件道具:
- name:用于表示文件名。
- percent:用于表示上传进度百分比。
- status:用于表示上传状态。
- thumbUrl:用于传递缩略图 URL。
- uid:唯一标识,不提供时自动生成。
- url :用于表示下载地址。
创建 React 应用程序并安装模块:
第 1 步:使用以下命令创建一个 React 应用程序:
npx create-react-app foldername
第 2 步:创建项目文件夹(即文件夹名称)后,使用以下命令移动到该文件夹:
cd foldername
第 3 步:创建 ReactJS 应用程序后,安装 必需的 模块使用以下命令:
npm install antd
项目结构:它将如下所示。
示例:现在在App.js文件中写下以下代码。在这里,App 是我们编写代码的默认组件。
App.js
import React from 'react'
import "antd/dist/antd.css";
import { Upload, message, Button } from 'antd';
const props = {
headers: {
authorization: 'authorization-text',
},
action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76',
name: 'file',
};
export default function App() {
return (
ReactJS Ant-Design Upload Component
<>
{
if (response.file.status !== 'uploading') {
console.log(response.file, response.fileList);
}
if (response.file.status === 'done') {
message.success(`${response.file.name}
file uploaded successfully`);
} else if (response.file.status === 'error') {
message.error(`${response.file.name}
file upload failed.`);
}
}}
>
>
);
}
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出:
参考: https://ant.design/components/upload/