githubEdit

day08-04.发布文章模块

实现基础文章发布

创建基础结构

image.png

pages/Publish/index.scss

准备富文本编辑器

实现步骤

  1. 安装富文本编辑器

  2. 导入富文本编辑器组件以及样式文件

  3. 渲染富文本编辑器组件

  4. 调整富文本编辑器的样式

代码落地 1-安装 react-quill

2-导入资源渲染组件

频道数据获取

image.png 实现步骤

  1. 使用useState初始化数据和修改数据的方法

  2. 在useEffect中调用接口并保存数据

  3. 使用数据渲染对应模版

代码实现

发布文章

image.png

上传封面实现

准备上传结构

image.png

实现基础上传

实现步骤

  1. 为 Upload 组件添加 action 属性,配置封面图片上传接口地址

  2. 为 Upload组件添加 name属性, 接口要求的字段名

  3. 为 Upload 添加 onChange 属性,在事件中拿到当前图片数据,并存储到React状态中

代码实现

切换图片Type

实现步骤

  1. 点击单选框时拿到当前的类型value

  2. 根据value控制上传组件的显示(大于零时才显示)

image.png

控制最大上传图片数量

实现步骤

  1. 通过 maxCount 属性限制图片的上传图片数量

暂存图片列表实现

业务描述 如果当前为三图模式,已经完成了上传,选择单图只显示一张,再切换到三图继续显示三张,该如何实现?

实现思路 在上传完毕之后通过ref存储所有图片,需要几张就显示几张,其实也就是把ref当仓库,用多少拿多少

实现步骤

  1. 通过useRef创建一个暂存仓库,在上传完毕图片的时候把图片列表存入

  2. 如果是单图模式,就从仓库里取第一张图,以数组的形式存入fileList

  3. 如果是三图模式,就把仓库里所有的图片,以数组的形式存入fileList

代码实现

注意:需要给Upload组件添加fileList属性,达成受控的目的

发布带封面的文章

校验图片类型和数量是否吻合

处理图片列表格式为接口格式

Last updated

Was this helpful?