Image 图片

除了 img 的原生特性外,还支持懒加载,自定义占位符、加载失败提示等。

基础用法

通过 fit 确定图片如何适应到容器框,同原生 object-fit

填充色
contain (保持比例)
cover (覆盖)
none (无)
scale-down (缩小)

占位内容

可通过 slot = placeholder 自定义图片未加载时的占位内容

默认值
自定义
加载中...

加载失败

可通过 slot = errorslot = viewer-error 自定义加载失败内容。

懒加载

提示

2.2.3 版本起支持原生 loading 属性,你可以使用 loading = "lazy" 代替 lazy = true

如果当前浏览器支持原生懒加载,则优先使用原生懒加载,否则通过滚动实现。

可通过 lazy = true 开启懒加载。开启后,图片会在滚动到可视区域时才加载。可以通过 scroll-container 指定监听滚动的容器。如果不指定,则为最近一个 overflow 值为 auto 或 scroll 的父容器。

图片预览

可通过 previewSrcList 开启预览大图的功能。可以通过 initial-index 初始化第一张预览图片的索引。默认初始索引为 0。

手动开启预览 2.9.4

自定义工具栏 2.9.4

可通过 toolbar 插槽自定义工具栏内容,从 2.9.7 版本开始,该插槽新增了 setActiveItem 函数,可以根据索引进行切换。

自定义进度 2.9.4

通过设置 show-progress 属性来控制预览图片时是否显示进度。在 2.9.8 版本后,只要使用了 progress 插槽,就会显示进度内容。

Image API

Image 属性

名称描述类型默认值
src图片源,同原生。string''
fit确定图片如何适应到容器框,同 object-fit枚举''
hide-on-click-modal开启预览时,是否可以通过点击遮罩层关闭预览。booleanfalse
loading 2.2.3告知浏览器如何加载图片,同 原生枚举
lazy是否开启懒加载。booleanfalse
scroll-container开启懒加载后,监听滚动的容器。string / object
alt原生 alt 属性。string
referrerpolicy原生 referrerPolicy 属性。string
crossorigin原生 crossorigin 属性。枚举
preview-src-list开启预览大图功能。array[]
z-index设置图片预览的 z-index。number
initial-index初始预览图像索引,小于 url-list 的长度。number0
close-on-press-escape是否可以通过按下 ESC 关闭图片预览。booleantrue
preview-teleported是否将查看器插入 body。如果父元素有 transform 属性,则需要将该属性设置为 truebooleanfalse
infinite是否可以循环预览。booleantrue
zoom-rate图片查看器缩放事件的缩放比例。number1.2
scale 2.11.3预览图片的缩放比例。number1
min-scale 2.4.0图片查看器缩放事件的最小缩放比例。number0.2
max-scale 2.4.0图片查看器缩放事件的最大缩放比例。number7
show-progress 2.9.4是否显示预览图片的进度内容。booleanfalse

Image 事件

名称描述类型
load原生 load 事件。Function
error原生 error 事件。Function
switch切换图像时触发。Function
关闭点击关闭按钮或在开启 hide-on-click-modal 时点击遮罩层触发。Function
show查看器显示时触发Function

Image 插槽

名称描述类型
占位符图片未加载时的占位内容。-
error图片加载失败的内容。-
图片查看器插槽当您开启预览大图功能时,可以使用所有图片查看器插槽。-

Image 暴露的方法

名称描述类型
showPreview 2.9.4手动打开大图预览Function

Image Viewer API

Image Viewer 属性

名称描述类型默认值
url-list预览链接列表。array[]
z-index预览遮罩层的 z-index。number / string
initial-index初始预览图像索引,小于或等于 url-list 的长度。number0
infinite是否可以循环预览。booleantrue
hide-on-click-modal点击遮罩层是否可以触发关闭事件。booleanfalse
teleported是否将图片本身插入 body。如果父元素有 transform 属性,则需要将该属性设置为 truebooleanfalse
zoom-rate 2.2.27图片查看器缩放事件的缩放比例。number1.2
scale 2.11.3预览图片的缩放比例。number1
min-scale 2.4.0图片查看器缩放事件的最小缩放比例。number0.2
max-scale 2.4.0图片查看器缩放事件的最大缩放比例。number7
close-on-press-escape是否可以通过按下 ESC 关闭图片预览。booleantrue
show-progress 2.9.4是否显示预览图片的进度内容booleanfalse

Image Viewer 事件

名称描述类型
关闭点击关闭按钮或在开启 hide-on-click-modal 时点击遮罩层触发。Function
error 2.11.3原生 error 事件。Function
switch切换图像时触发。Function
rotate 2.3.13旋转图像时触发。Function

Image Viewer 插槽

名称描述类型
viewer自定义内容-
progress 2.9.4自定义进度内容(优先级高于 show-progress 属性)object
toolbar 2.9.4自定义工具栏内容object
viewer-error 2.11.3图片加载失败的内容。object

Image Viewer 暴露的方法

名称描述类型
setActiveItem手动切换图片Function

类型声明

显示声明
ts
type ImageViewerAction = 'zoomIn' | 'zoomOut' | 'clockwise' | 'anticlockwise'
type ImageViewerActionOptions = {
  enableTransition?: boolean
  zoomRate?: number
  rotateDeg?: number
}

来源

组件样式文档

贡献者