Skip to content

基本使用

基本用法

SunlightImage 是基于 Element Plus 上传组件封装的图片上传组件,提供了更简洁的使用方式和丰富的配置选项。

标准头像上传

标准格式,头像最大为 3M

标准头像上传

标准样式,头像最大为 3M

圆形头像上传

圆形组件(需要裁剪上传)

圆形头像上传

圆形组件(禁止拖拽上传)

上传 Banner 图

横幅组件(可裁剪上传)

上传 Banner 图

宽横幅组件(可拖拽上传)

禁用状态

无图(需要上传)

禁用状态

无图(禁用上传)

查看

有图(需要编辑、删除)

查看

有图(禁用编辑、删除)

查看

事件处理

处理上传成功和失败的情况

事件处理

当前图片地址: 未上传

文档说明

SunlightImage Props 配置表

属性名说明类型默认值
imageUrl图片地址,支持 v-model 双向绑定string''
api上传图片的 API 方法,必须传参function-
drag是否支持拖拽上传booleantrue
disabled是否禁用上传组件booleanfalse
fileSize图片大小限制(单位:M)number5
fileType图片类型限制array['image/jpeg', 'image/png', 'image/gif']
height组件高度string'150px'
width组件宽度string'150px'
borderRadius组件边框圆角string'8px'
wrapperStyle边框和样式配置对象object{}

wrapperStyle 配置对象

属性名说明类型默认值
borderColor边框颜色string'#dcdfe6'
focusBorderColor聚焦/悬停时边框颜色string'#409eff'
focusBoxShadow聚焦/悬停时阴影string-
backgroundColor背景颜色string-
boxShadow阴影效果string-

事件说明

事件名说明参数类型
update:imageUrl图片地址更新事件string
upload-success上传成功事件response: any, file: any
upload-error上传失败事件error: any, file: any

插槽说明

插槽名说明作用域参数
empty无图片时的默认内容-
tip提示信息-

API 方法说明

上传 API 方法应返回一个 Promise,成功时返回包含 fileUrl 字段的对象:

javascript
const uploadApi = async formData => {
  try {
    const response = await fetch("https://jsonplaceholder.typicode.com/posts/", {
      method: "POST",
      body: formData,
    });
    const data = await response.json();
    return {
      fileUrl: `https://picsum.photos/300/300?random=${data.id}`,
    };
  } catch (error) {
    throw error;
  }
};

相关链接