首頁  >  問答  >  主體

javascript - Upload元件選了檔案不立即上傳

antd的Upload元件,我想選擇檔案後不立即上傳,等我按了儲存按鈕之後我才一起上傳,這個怎麼做呢?

PHP中文网PHP中文网2710 天前598

全部回覆(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
  • 取消回覆