Image 图片

在原生 img 能力基础上,支持懒加载、自定义占位与加载失败展示等。

基础用法

通过 fit 指定图片如何适应容器,行为同原生 object-fit

fill
contain
cover
none
scale-down

占位内容

未加载完成前可通过 placeholder 插槽自定义占位。

Default
Custom
Loading...

加载失败

加载出错时可通过 errorviewer-error 插槽自定义展示。

懒加载

TIP

支持原生 loading 属性,可用 loading="lazy" 替代 lazy = true

若浏览器支持原生懒加载则优先使用,否则由组件基于滚动实现。

lazytrue 时进入可视区域再加载。scroll-container 指定监听滚动的容器;未设置时取最近的 overflowautoscroll 的父级。

图片预览

设置 previewSrcList 开启大图预览;initial-index 指定首张预览索引,默认 0

手动打开预览

自定义工具栏

使用 toolbar 插槽自定义工具栏;插槽提供 setActiveItem,可按索引切换图片。

自定义进度

show-progress 控制是否显示预览进度;只要使用 progress 插槽即会展示进度内容。

图片 API

图片 属性

名称说明类型默认值
src图片地址,同原生string''
fit适应容器的方式,同 object-fitenum''
hide-on-click-modal预览模式下点击遮罩是否关闭booleanfalse
loading浏览器加载策略,同 原生 loadingenum
lazy是否懒加载booleanfalse
scroll-container懒加载时监听滚动的容器;默认取最近可滚动父级string / object
alt原生 altstring
referrerpolicy原生 referrerPolicystring
crossorigin原生 crossoriginenum
preview-src-list预览图片地址列表array[]
z-index预览层 z-indexnumber
initial-index初始预览索引,需小于列表长度number0
close-on-press-escape预览时是否允许 ESC 关闭booleantrue
preview-teleported是否将预览层挂到 body;父级存在 transform 时嵌套场景建议为 truebooleanfalse
infinite预览是否首尾循环booleantrue
zoom-rate缩放速率number1.2
scale预览初始缩放比例number1
min-scale最小缩放比例number0.2
max-scale最大缩放比例number7
show-progress是否显示预览进度(与 progress 插槽配合)booleanfalse

图片 事件

名称说明类型
load同原生 loadFunction
error同原生 errorFunction
switch切换预览图片时触发Function
close点击关闭或开启 hide-on-click-modal 时点击遮罩关闭预览时触发Function
show预览打开时触发Function

图片 插槽

名称说明类型
placeholder加载前占位-
error加载失败展示-
image viewer slots开启预览时,可使用下方 Image Viewer 全部插槽-

图片 暴露

名称说明类型
showPreview手动打开预览Function

图片预览 API

图片预览 属性

名称说明类型默认值
url-list预览地址列表array[]
z-index遮罩层 z-indexnumber / string
initial-index初始索引,不大于 url-list 长度number0
infinite是否循环切换booleantrue
hide-on-click-modal点击遮罩是否触发关闭booleanfalse
teleported是否挂到 body;父级含 transform 的嵌套场景建议为 truebooleanfalse
zoom-rate缩放速率number1.2
scale预览初始缩放number1
min-scale最小缩放比例number0.2
max-scale最大缩放比例number7
close-on-press-escape是否允许 ESC 关闭booleantrue
show-progress是否显示预览进度booleanfalse

图片预览 事件

名称说明类型
close点击关闭或 hide-on-click-modal 下点击遮罩时触发Function
error同原生 errorFunction
switch切换图片时触发Function
rotate旋转图片时触发Function

图片预览 插槽

名称说明类型
viewer自定义预览区域内容-
progress自定义进度(优先级高于 show-progressobject
toolbar自定义工具栏object
viewer-error预览中某张图加载失败时的自定义内容object

图片预览 暴露

名称说明类型
setActiveItem切换到指定索引Function

类型声明

展开类型声明
ts
type ImageViewerAction = 'zoomIn' | 'zoomOut' | 'clockwise' | 'anticlockwise'
type ImageViewerActionOptions = {
  enableTransition?: boolean
  zoomRate?: number
  rotateDeg?: number
}