代码拉取完成,页面将自动刷新
同步操作将从 陈钦伟/vue3-preview 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Vue3+TS的图片预览Vue组件,支持图片放大缩小、移动、快捷键操作等等。
npm install vue3-preview -S
<template>
<div>
<div class="images">
<img @click="imgHandle(url)" v-for="url in imagesData" :key="url" :src="url">
</div>
<button @click="clickHandle">点击预览图片</button>
<preview :urlList="imagesData" v-model="visible"></preview>
<preview ref="preview"></preview>
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue'
import Preview from 'vue3-preview';
export default defineComponent({
name: 'App',
components: {
Preview
},
setup() {
const preview = ref();
const imagesData = ref([
'http://p8.qhimg.com/bdm/1024_768_85/t01d0a11d2e93f10849.jpg',
'http://p0.qhimg.com/bdm/1024_768_85/t0185100fadc5a11456.jpg',
'https://blog-pro-vite.oss-cn-shanghai.aliyuncs.com/uploads/one/713591c5-153e-4675-ad82-961a1bec4692.png',
]);
// 方式一
const visible = ref(false)
function clickHandle() {
visible.value = true;
}
// 方式二
function imgHandle(url: string) {
preview.value?.open(url);
}
return {
preview,
imagesData,
visible,
clickHandle,
imgHandle
};
}
})
</script>
<style scoped>
.images{
display: flex;
}
.images img {
width: 300px;
height: fit-content;
margin: 10px;
cursor: pointer;
}
</style>
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
model-value / v-model | 是否显示组件 | boolean | false |
urlList | 用于预览的图片链接列表,open方法的imgUrls参数会优先 | string[] | [] |
zIndex | 预览时遮罩层的 z-index | number | 2000 |
hideOnClickModal | 是否可以通过点击遮罩层关闭预览 | boolean | false |
initialIndex | 预览的首张图片的位置, 小于等于数组长度 | Number | 0 |
infinite | 是否可以无限循环预览 | boolean | true |
appendToBody | 是否将组件插入至 body 元素上 | boolean | false |
事件名称 | 说明 | 回调参数 |
---|---|---|
close | 关闭组件触发 | 无 |
switch | 当图片切换时触发 | (val: number),切换目标的下标 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。