Ant Design/Reactjs上传器(拖拽上传)停止上传列表加载。
创始人
2024-11-07 05:30:29
0

以下是一个使用Ant Design和Reactjs的示例代码,演示了如何实现拖拽上传并停止上传列表加载的功能:

import React, { useState } from 'react';
import { Upload, Button, Icon, message } from 'antd';

const Dragger = Upload.Dragger;

const UploadComponent = () => {
  const [fileList, setFileList] = useState([]);
  const [uploading, setUploading] = useState(false);
  const [stopUploading, setStopUploading] = useState(false);

  const handleUpload = () => {
    const formData = new FormData();
    fileList.forEach(file => {
      formData.append('files', file);
    });

    // 发起上传请求
    // 这里可以使用axios或其他HTTP库发送请求
    // 根据需要处理上传进度等其他逻辑
    // 此处只是简单的演示
    setUploading(true);
    setTimeout(() => {
      if (stopUploading) {
        message.error('上传已停止');
        setUploading(false);
        setStopUploading(false);
        setFileList([]);
      } else {
        message.success('上传成功');
        setUploading(false);
        setFileList([]);
      }
    }, 2000);
  };

  const handleRemove = file => {
    setFileList(fileList.filter(item => item.uid !== file.uid));
  };

  const handleStopUpload = () => {
    setStopUploading(true);
  };

  const uploadProps = {
    multiple: true,
    fileList,
    beforeUpload: file => {
      setFileList([...fileList, file]);
      return false;
    },
    onRemove: handleRemove,
  };

  return (
    

点击或拖拽文件到此区域进行上传

{uploading && ( )}
); }; export default UploadComponent;

上述代码创建了一个名为UploadComponent的组件,其中包含一个Dragger组件用于实现拖拽上传功能。fileList存储上传的文件列表,uploading表示当前是否正在上传,stopUploading表示是否停止上传。

handleUpload函数中,使用formData将文件列表添加到表单数据中,然后可以使用HTTP库发送上传请求。在示例中,使用setTimeout模拟上传过程,并根据stopUploading的值来模拟停止上传。

handleRemove函数用于移除文件列表中的文件。

uploadProps是传递给Dragger组件的属性对象,其中包含beforeUploadonRemove等属性,用于处理文件的添加和移除。

在界面上,用户可以点击或拖拽文件到Dragger组件区域进行上传。点击"开始上传"按钮后,会调用handleUpload函数开始上传。如果点击"停止上传"按钮,则会调用handleStopUpload函数停止上传。

需要注意的是,上述代码只是一个简单的示例,实际使用中,可能需要根据需求进行适当的修改和完善。

相关内容

热门资讯

解迷透视!德州透视插件,wej... 解迷透视!德州透视插件,wejoker私人辅助软件,模板教程(有挂细节)-哔哩哔哩1、wejoker...
详情透视!智星德州插件2024... 详情透视!智星德州插件2024最新版!果然真的是有辅助插件(讲解有挂)-哔哩哔哩1、智星德州插件20...
关于透视!wepoker透视脚... 关于透视!wepoker透视脚本免费使用视频,聚星ai辅助工具激活码,法门教程(有挂总结)-哔哩哔哩...
科普透视!pokemmo手机版... 科普透视!pokemmo手机版脚本免费!一直真的有辅助方法(有挂攻略)-哔哩哔哩;进入游戏-大厅左侧...
解密透视!hhpoker是真的... 解密透视!hhpoker是真的吗,aapoker怎么拿好牌,学习教程(有挂解惑)-哔哩哔哩1、让任何...
必备透视!哈糖大菠萝有没有挂!... 必备透视!哈糖大菠萝有没有挂!确实是有辅助教程(有挂细节)-哔哩哔哩1、每一步都需要思考,不同水平的...
总结透视!悦扑克脚本,wepo... 总结透视!悦扑克脚本,wepokerplus透视脚本免费,步骤教程(了解有挂)-哔哩哔哩1、wepo...
详细透视!pokemmo脚本!... 详细透视!pokemmo脚本!竟然一直总是有辅助app(有挂工具)-哔哩哔哩1)pokemmo脚本免...
解迷透视!wepoker透视脚... 解迷透视!wepoker透视脚本下载,wpk系统是否存在作必弊行为,资料教程(有挂助手)-哔哩哔哩w...
普及透视!佛手在线是不是有挂!... 普及透视!佛手在线是不是有挂!都是存在有辅助技巧(有挂讲解)-哔哩哔哩暗藏猫腻,小编详细说明佛手在线...