首页  >  问答  >  正文

javascript - Upload组件选了文件不立即上传

antd的Upload组件,我想选择文件后不立即上传,等我按了保存按钮之后我才一起上传,这个怎么做呢?

PHP中文网PHP中文网2710 天前596

全部回复(4)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:15:15

    • 利用beforeUpload将要上传的东西存到store里面(state也可以),最后return false,阻止上传。

    
        <Dragger
            name="ver_file"
            action="version_add"
            showUploadList
            disabled={activeRow.id !== 0}
            fileList={fileList}
            onRemove={() => {
              // 清空文件列表
              dispatch({
                type: 'SystemSettings/Version/changeFileList',
                payload: {
                  file: {},
                  fileList: [],
                },
              });
            }}
            beforeUpload={(curFile, curFileList) => {
              // 将上传的东西存到store里,返回false阻止上传
              dispatch({
                type: 'SystemSettings/Version/changeFileList',
                payload: {
                  file: curFile,
                  fileList: curFileList,
                },
              });
              return false;
            }}
       >
    
    • 提交的时候,将file追加到FormData里面

        const data = new FormData();
        // 循环把字段全部加进去
        Object.entries(values).forEach((item) => {
          data.append(item[0], item[1] || '');
        });
        data.append('ver_file', file);
        dispatch({
          type: 'SystemSettings/Version/submitData',
          payload: data,
        });

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:15:15

    你选中文件后,base64展示,点击保存时一起保存就好了

    回复
    0
  • PHP中文网

    PHP中文网2017-05-19 10:15:15

    题主解决了么?

    回复
    0
  • 高洛峰

    高洛峰2017-05-19 10:15:15

    同问,lz要分享啊,我也碰到不想立即上传的需求,怎么弄。

    回复
    0
  • 取消回复