基础使用方法
<template>
<image v-for="(item,idx) in imgList" :src="item" :key="idx" @tap="handleClick(idx)"></image>
<preview-img :imgList="imgList" ref="preview"><preview-img>
</template>
<script setup>
import { ref } from 'vue'
const preview = ref(null)
const imgList = ['图片路径1','图片路径2']
const handleClick = (idx)=>{
// idx为要打开的图片的索引,也可以不传,默认打开第一张
// handlePreviewImg的参数支持传入单张图片地址或单个视频地址
preview.value.handlePreviewImg(idx)
}
</script>
属性名/事件 | 类型 | 默认值 | 说明 |
---|---|---|---|
modeClass | Array/String | [‘fade’, ‘zoom-out’] |
uni-transition组件过渡效果,可选值见 https://uniapp.dcloud.net.cn/component/uniui/uni-transition.html#mode-class-内置过渡动画类型说明 |
indicatorDotsType | Boolean | false | 多张图片的指示器,ture为圆点,false数字,当图片列表只有一张图片时,默认不展示指示器 |
imgList | Array | 图片列表 | |
disabledScale | Boolean | false | 是否禁止双指放大缩小 |
@preview | 打开关闭事件 | 接受一个参数,ture为开启,false为关闭 | |
@changeImg | 图片切换的事件 | 参数为当前的图片索引 |
插槽,自定义翻页按钮
<preview-img :imgList="imgList" ref="preview">
<template>
<!--你的翻页按钮-->
<view @tap.stop="previousImg">上一页</view>
<view @tap.stop="nextImg">下一页</view>
</template>
</preview-img>
<script>
const preview = ref(null)
//上一页的方法
const previousImg = ()=>{
preview.value.previousImg()
}
//下一页的方法
const previousImg = ()=>{
preview.value.nextImg()
}
</script>
支持uniapp原生swiper的属性
插件内部swiper标签上绑定了$attrs,所以在使用时可以传入一些swiper的属性
注意:不要传disable-touch这个属性,会有意想不到的错误
插件地址 :https://ext.dcloud.net.cn/plugin?id=10251
版权声明:本文为M00n_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。