zoukankan      html  css  js  c++  java
  • antd组件Upload实现自己上传

    前言

    在实现图片上传时,可能需要用到Upload,但是它默认的上传方式是加入图片后直接上传,如果要实现最后再一次性上传,需要自定义内容。

    
    //添加按钮的样式
    const uploadButton = (
          <div>
            <Icon type="plus" />
            <div className="ant-upload-text">Upload</div>
          </div>
     );
    
    
    <Upload
                  //样式
                  className={styles['override-ant-btn']}
                  //陈列样式,现在是卡片式
                  listType="picture-card"
                  //再图片上传到页面后执行的函数,自定义让他不执行
                  beforeUpload={() => false}
                  //数据,即图片,是一个数组
                  fileList={fileList}
                  //当点击查看时调用(上图的那个眼睛)
                  onPreview={this.handlePreview}
                  //数据改变时调用
                  onChange={this.handleChange}
                >
                  //当不少于一张图时,不显示怎加图片的按钮。
                  {fileList.length >= 1 ? null : uploadButton}
                </Upload>
    

    还有一个移除时调用的函数onRemove(),即点击上图的垃圾桶,这里没有定义。

    
      handlePreview = (file) => {
        this.setState({
          previewImage: file.url || file.thumbUrl,
          visible: true,
        });
      };
    
    
            <Modal visible={visible} footer={null} onCancel={this.handleCancel}>
                  <img alt="加载" style={{  '100%',height: '100%' }} src={previewImage} />
            </Modal>
    

    利用Modal显示图片。

    
    handleChange = ({ fileList }) => {
        this.setState({ fileList });
    };
    

    数据改变时直接重设fileList数组的值(我这里只有一张图可以这么做)。

    最后是fileList的一些基本设置:

    
    fileList: [{
              uid: 'id',
              name: '标题',
              //目前的状态
              status: 'done',
              //图片的url或者base64
              url: '',
              type: 'image/jpeg',
            }],
    

    来源:https://segmentfault.com/a/1190000017404796

  • 相关阅读:
    hdu 1203 I NEED A OFFER (0-1背包)
    hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
    hdu 1284 钱币兑换问题 完全背包
    hdu 1114 Piggy-Bank 完全背包
    hdu 2955 Robberies 0-1背包/概率初始化
    hdu 2602 Bone Collector 背包入门题
    hdu 1002 A+B problem II
    hdu 2689 Sort it
    hdu 1874 畅通工程续 Dijkstra
    hdu 1232 畅通工程 并查集
  • 原文地址:https://www.cnblogs.com/datiangou/p/10136487.html
Copyright © 2011-2022 走看看