Skip to content

Image 图片

增强型图片组件,支持图片懒加载、骨架屏/加载动画占位、加载失败降级占位、圆角/圆形切割、全屏点击预览与渐显淡入过渡。


🎨 基础用法

1. 基础展示与填充模式

通过 src 指定图片地址,mode 继承 UniApp 原生 image 模式(默认 aspectFill):

html
<mu-image src="https://picsum.photos/300/200" width="300rpx" height="200rpx" />

2. 圆角与圆形头像 (Round & Radius)

支持指定微圆角或一键切换胶囊/圆形头像:

html
<!-- 自定义圆角 16rpx -->
<mu-image src="https://picsum.photos/200" width="160rpx" height="160rpx" radius="16" />

<!-- 圆形头像 -->
<mu-image src="https://picsum.photos/200" width="120rpx" height="120rpx" round />

3. 点击预览大图 (Preview)

设置 previewtrue,点击图片时自动触发原生的 uni.previewImage 大图全屏预览:

html
<mu-image
  src="https://picsum.photos/800/600"
  width="240rpx"
  height="180rpx"
  radius="12"
  preview
/>

4. 加载中与加载失败占位 (Loading & Error)

当图片加载缓慢或连接失败时,组件会自动显示优雅的流光背景与状态图标:

html
<!-- 自定义失败提示文本 -->
<mu-image
  src="https://invalid-domain.com/broken.jpg"
  width="200rpx"
  height="200rpx"
  error-text="图片加载失败"
/>

<!-- 插槽自定义加载与失败结构 -->
<mu-image src="..." width="200rpx" height="200rpx">
  <template #loading>
    <text style="font-size: 20rpx; color: #94A3B8;">加载中...</text>
  </template>
  <template #error>
    <text style="font-size: 20rpx; color: #F43F5E;">加载出错</text>
  </template>
</mu-image>

🛠️ API 属性与事件

Props 属性

参数说明类型默认值
src图片资源地址string''
mode图片裁剪模式(详见 UniApp 规范)string'aspectFill'
width宽度(数字默认为 rpx,支持 '100%' 等)number | string'100%'
height高度(数字默认为 rpx,支持 '300rpx' 等)number | string'100%'
radius圆角大小number | string0
round是否展现为圆形头像booleanfalse
lazy-load是否开启懒加载booleantrue
show-loading是否在加载时显示占位动画booleantrue
show-error是否在加载失败时显示占位图booleantrue
loading-icon加载占位图标string'loading'
error-icon失败占位图标string'image'
error-text失败提示文案string''
preview点击是否自动全屏预览大图booleanfalse
fade是否开启加载成功后的渐显过渡动画booleantrue
duration渐显动画持续时间 (ms)number | string300
bg-color占位背景色彩string'rgba(241, 245, 249, 0.6)'

Events 事件

事件名说明回调参数
@click点击图片时触发(event: TouchEvent)
@load图片成功加载完毕时触发(event: CustomEvent)
@error图片加载失败时触发(event: CustomEvent)

Slots 插槽

插槽名说明
loading自定义图片加载状态内容
error自定义图片加载失败状态内容

基于 MIT 协议开源发行

H5 模拟器 (image)☀️🔄