Skip to content

Image 图片

查看 sn-image 的 2.0 版本差异

基础用法

  • 相比于内置 image 组件更加方便使用
  • 支持图片加载占位(可自定义图标、图片或插槽)、图片预览、懒加载与显示动画(均同内置 image 组件)
  • 默认 aspectFit 模式:未设置 height 时按图片比例自动计算高度;未设置 width 时平分父容器剩余宽度。设置 height 后此功能失效(height 仅在同时设置 width 时生效)
vue
<template>
	<sn-image src="https://www.example.com/example.png"></sn-image>
</template>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
src图片路径(网络路径、本地路径皆可)String''-
width图片宽度,未设置时平分父容器剩余宽度,支持 $ 前缀按间距乘数缩放String | Number''-
height图片高度,仅在同时设置 width 时生效,支持 $ 前缀按间距乘数缩放String | Number''-
mode图片裁剪、缩放方式,aspectFit 且未设置 height 时自动按图片比例计算高度StringaspectFitscaleToFill | aspectFit | aspectFill | widthFix | heightFix | top | bottom | center | left | right | top left | top right | bottom left | bottom right
borderRadius图片圆角大小,支持 $ 前缀按圆角乘数缩放String | Number$12-
loadingBgColor加载占位块背景颜色String$info-
loadingIconColor加载占位块中的图标颜色String$infoDark-
loadingIcon加载占位图标名(未传 loadingImage 时显示)Stringimage-line-
loadingImage加载占位图片地址,传入后替代占位图标String''-
loadingImageMode加载占位图片的裁剪、缩放方式StringaspectFitmode
loadingSize加载占位块尺寸,支持 $ 前缀按间距乘数缩放String | Number80px-
lazyLoad图片懒加载,只针对 page 与 scroll-view 下的 image 有效,同内置 image 组件Booleanfalsetrue | false
fadeShow图片显示动画效果,同内置 image 组件Booleantruetrue | false
enablePreview点击后调用内置的 uni.previewImage 进行图片预览(图片加载失败时不触发)Booleanfalsetrue | false
customStyle自定义图片容器样式UTSJSONObject | String''-
imageStyle自定义内部图片(内置 image)样式UTSJSONObject | String''-
loadingStyle自定义加载占位块样式UTSJSONObject | String''-
customClass自定义图片容器样式类String''-
imageClass自定义内部图片样式类String''-
loadingClass自定义加载占位块样式类String''-

事件

名称类型说明
error(event: UniImageErrorEvent) => Void图片加载错误时触发
load(event: UniImageLoadEvent) => Void图片加载成功时触发
click(event: UniPointerEvent) => Void单击图片时触发
dbclick(event: UniPointerEvent) => Void快速双击图片时触发(300ms 内连续点击两次)
longpress(event: UniEvent) => Void长按图片时触发

插槽

名称说明
loading替换默认的加载占位图标/图片,可放任意加载动画组件

使用 MIT 协议