软件环境

  • macOS Big Sur 11.1
  • React 16.12.0
  • Ant Design 4.10.0

实际效果

现有一个需求,是上传文件,点击浏览文件按钮,选中文件后,在按钮的上方显示,上传的文件列表,如下图所示

打开网易新闻 查看更多图片

当前效果

目前使用阿里的Ant UI组件库,使用其中的上传组件,官方提供的示例,如下图如示

打开网易新闻 查看更多图片

本地使用后,如下图所示

打开网易新闻 查看更多图片

如何才能实现,我们需要的效果呢,Google了好多文章,找到了一种方式,就是重写itemRender方法,自定义文件列表的展示,使用这个方法,需要重写多个action。

后来查看公司前端人员写的代码,看到另一种解决方法。

主要使用两个Upload组件,第一个Upload组件主要是展示文件列表,第二个Upload组件是选择文件上传的这个操作,不过,选择文件后,把文件列表在下方展示隐藏起来。

打开网易新闻 查看更多图片

把得到的文件列表,赋值给第一个Upload组件中,大概如下:

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

部分代码如下:

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片