跳到主要内容

上传图片

图片上传控件

代码演示

基本使用

import { useState } from 'react';
import UploadImg from '../../components/UploadImg';

fucntion Card({ confData, dispatch }) {

return (
<UploadImg
imgList={confData.data.imgM}
note='提示文本'
pure={false}
onChange={(img) =>
dispatch({
type: 'UPDATE_MODULE',
payload(draft: any) {
draft.data.imgM = img;
},
})
}
/>
);
}

进阶使用

UploadImgWrap 组件配置 keyNamedispatch 后,组件会自动将数据同步到魔方编辑器的 store

import { UploadImgWrap } from '../../components/UploadImg';

fucntion Card({ confData, dispatch }) {

return (
<UploadImgWrap
img={confData.data.imgM}
valueType='auto'
keyName="data.imgM"
dispatch={dispatch}
note="建议压缩图片后上传"
/>
);
}

API

UploadImg 组件接受的参数如下:

参数类型说明默认值
classNamestring容器类名-
imgListTImg[]图片列表-
notestring提示文本''
pureboolean纯净模式false
onChange(img: TImg[]) => void图片上传回调-

UploadImgWrap 组件接受的参数如下:

参数类型说明默认值
classNamestring容器类名-
imgTImg[]string图片列表-
valueType'auto' | 'string' | 'array'用于配置上传后设置到 store 的数据类型'auto'
notestring提示文本''
pureboolean纯净模式false
keyNamestringstore 数据存储路径-
dispatch(action: { type: string, payload: any }) => voidstore 数据更新方法-

TImg 类型定义

type TImg = {
url: string;
uid?: string;
name?: string;
status?: 'done' | 'uploading' | 'error';
width?: number;
height?: number;
};

FAQ

什么是纯净模式 ?

纯净模式下,组件会隐藏 note 提示文案、在线设计入口,只会提供上传图片的功能。

为什么要使用 UploadImgWrap 组件?

阅读链接