更新记录

1.0.0(2026-10-12) 下载此版本


平台兼容性

uni-app(3.8.5)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ √ √ √ √ √ √ √
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ √ √ √ √ √ √ √ √ √

uni-app x(3.8.5)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
× × √ ×

vant-image-preview

图片预览组件(Vant 风格,零业务耦合),支持函数式与组件式两种调用

介绍

图片预览用于在 fullscreen 遮罩中查看大图,支持左右切换、计数、关闭按钮。本组件为 Vue3 <script setup lang="ts"> 实现,样式令牌统一来自宿主 uni.scss 的 $uni-* 体系。

基础用法

<!-- 函数式调用 -->
<vant-button @click="openByFunction">预览图片</vant-button>

<script setup lang="ts">
import { showImagePreview } from '@/uni_modules/vant-image-preview/components/vant-image-preview/image-preview'

const images = [
  'https://example.com/a.png',
  'https://example.com/b.png',
  'https://example.com/c.png',
]

const openByFunction = () => showImagePreview({ images, startPosition: 0 })
</script>

<!-- 组件式调用(v-model:show) -->
<vant-switch v-model="show" />
<vant-image-preview v-model:show="show" :images="images" :start-position="0" />

Props

参数 说明 类型 默认值
show 是否展示(支持 v-model:show) boolean false
images 图片地址列表 string[] []
start-position 初始展示位置(索引) number 0
closeable 是否展示关闭按钮 boolean true
close-icon 关闭图标名称(透传 vant-icon) string 'cross'

Events

事件名 说明 回调参数
update:show 显隐状态变化时触发(v-model) v: boolean
close 点击关闭按钮时触发 —

Slots

本组件暂无插槽。图片与按钮均为内部渲染;如需自定义,请基于组件源码扩展。

函数式 API

  • showImagePreview(images: string[] | { images: string[]; startPosition?: number; closeable?: boolean }):打开预览。
  • closeImagePreview():关闭预览。
  • ImagePreview.show(...) / ImagePreview.close():便捷对象封装。

平台兼容性

  • H5 ✓
  • 小程序 ✓
  • App ✓

设计约束

  • 仅 Vue3,不提供 Vue2 / .uvue 实现。
  • 组件零业务耦合:无 navigateTo / redirectTo / reLaunch / switchTab / request / cloud 等调用。
  • 样式令牌统一来自宿主 uni.scss 的 $uni-*,遮罩背景使用 $uni-bg-color-mask,无硬编码色值。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。