Antd загрузить refre sh страница после выбора файла - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь реализовать компонент Upload в приложении реагирования. Я использую ant.design версии 3.26.13. Проблема в том, что страница обновляется, когда я выбираю файл. Я не знаю, почему это освежает. И я имею в виду refre sh не повторный рендеринг. Возможное, что приходит мне в голову, это то, что кнопка может быть отправлена. Но я не вижу ничего подобного. Ниже приведен код.

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

const MyUpload = () => {
  const props = {
    name: 'file',
    action: 'http://localhost:3100/api/upload',
    onChange(info) {
      if (info.file.status !== 'uploading') {
        console.log(info.file, info.fileList);
      }
      if (info.file.status === 'done') {
        message.success(`${info.file.name} file uploaded successfully`);
      } else if (info.file.status === 'error') {
        message.error(`${info.file.name} file upload failed.`);
      }
    },
  };

  return (
   <Upload {...props}>
    <Button>
      <Icon type="upload" /> Click to Upload
    </Button>
   </Upload>
  )
}

export default MyUpload;

URL моего действия имеет следующий бэкэнд:

var express = require("express");
var router = express.Router();
var multer = require("multer");
var upload = multer({ dest: "assets/" });

router.post("/cover", upload.single("cover"), (req, res, next) => {
  if (req.file) {
    res.status(200).json({
      isSuccess: true,
      message: "Image Uploaded!",
      data: req.file
    });
  } else
    res.status(200).json({
      isSuccess: false,
      message: "File is required!"
    });
});

РЕДАКТИРОВАТЬ

Я определил, что если я изменю ответ API на :

router.post("/cover", upload.single("cover"), (req, res, next) => {
  res.status(200).send();
});

Страница не обновлена ​​sh. Я не понял, почему это так? Может кто-нибудь разработать поток?

1 Ответ

0 голосов
/ 26 апреля 2020

Я уже проверяю компонент загрузки. это проблема версии. вам нужно изменить версию antd на 3.24.3, решить проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...