Skip to content

Image 图片

带占位、错误兜底、懒加载和大图预览的图片组件。

基本使用

最简形式只需要 src,可加 width / height / alt

大图预览

设置 preview 后,点击图片会弹出全屏预览,支持缩放 / 重置 / 关闭。

适应方式

fit 与 CSS object-fit 一致:fill / contain / cover / none / scale-down

加载失败兜底

加载失败时优先显示 fallback 图,否则展示"加载失败"文案;也可用 #error slot 完全自定义。

懒加载

lazy 配合 IntersectionObserver,元素进入视口才请求图片,可降低首屏成本。

自定义占位

#placeholder slot 替换默认的"加载中"提示。

事件追踪(load / error / click)

load / error / click 三个事件覆盖图片完整生命周期,可用于埋点、上报、统计。

多张图片相册(ImagePreview)

<c-image-preview> 把多张图聚成一组,点击任一张进入统一预览:左右切换 / 缩放 / 关闭。

受控预览(外部按钮唤起)

preview 传对象进入受控模式:父组件决定 visible / current,预览状态变化通过 update:previewchange 回写。

失败兜底链

fallback#error slot 可同时存在:fallback 是「先重试一次」,再失败才走 error slot。常用于 CDN 多重备份场景。

API

Props

参数类型默认值说明
srcstring必填,图片地址
altstring''替代文本
fitImageFit'fill'与 CSS object-fit 同义
widthnumber | string''宽度(数字按 px)
heightnumber | string''高度
previewbooleanfalse启用大图预览,点击弹层
fallbackstring''加载失败时使用的兜底图片地址
lazybooleanfalse懒加载(IntersectionObserver)
rootMarginstring'0px'配合 lazy 的预加载距离

Events

事件名回调签名触发时机
load(e: Event)图片加载完成
error(e: Event)加载失败
click(e: MouseEvent)点击图片

Slots

名称说明
placeholder自定义加载中占位
error自定义加载失败展示

Released under the MIT License.