day08-04.发布文章模块
实现基础文章发布
创建基础结构

pages/Publish/index.scss
准备富文本编辑器
实现步骤
安装富文本编辑器
导入富文本编辑器组件以及样式文件
渲染富文本编辑器组件
调整富文本编辑器的样式
代码落地 1-安装 react-quill
2-导入资源渲染组件
频道数据获取
实现步骤
使用useState初始化数据和修改数据的方法
在useEffect中调用接口并保存数据
使用数据渲染对应模版
代码实现
发布文章

上传封面实现
准备上传结构

实现基础上传
实现步骤
为 Upload 组件添加
action 属性,配置封面图片上传接口地址为 Upload组件添加
name属性, 接口要求的字段名为 Upload 添加
onChange 属性,在事件中拿到当前图片数据,并存储到React状态中
代码实现
切换图片Type
实现步骤
点击单选框时拿到当前的类型value
根据value控制上传组件的显示(大于零时才显示)

控制最大上传图片数量
实现步骤
通过 maxCount 属性限制图片的上传图片数量
暂存图片列表实现
业务描述 如果当前为三图模式,已经完成了上传,选择单图只显示一张,再切换到三图继续显示三张,该如何实现?
实现思路 在上传完毕之后通过ref存储所有图片,需要几张就显示几张,其实也就是把ref当仓库,用多少拿多少
实现步骤
通过useRef创建一个暂存仓库,在上传完毕图片的时候把图片列表存入
如果是单图模式,就从仓库里取第一张图,以数组的形式存入fileList
如果是三图模式,就把仓库里所有的图片,以数组的形式存入fileList
代码实现
注意:需要给Upload组件添加fileList属性,达成受控的目的
发布带封面的文章
校验图片类型和数量是否吻合
处理图片列表格式为接口格式
Last updated
Was this helpful?