Vant 是一款基于 Vue.js 的移动端组件库,它提供了丰富的组件,可以帮助开发者快速构建移动端应用。Vant 预览是一个在线的预览工具,可以帮助开发者快速预览 Vant 的各个组件,并且可以根据实际需要进行定制。
Vant 预览的使用方法很简单,开发者只需要在 Vant 官网上找到想要使用的组件,然后在该组件的详情页中找到“预览”按钮,即可进入 Vant 预览界面。
Vant 预览界面中包含了该组件的属性、API、代码片段、效果图和实时效果图。开发者可以根据实际情况修改属性来定制想要的效果,并查看相应的代码片段和效果图。此外,Vant 预览还有一个“复制代码”功能,开发者可以将修改后的代码片段复制到本地文本文件中保存。
此外,Vant 还有一个“对比”功能,开发者可以将不同版本的代码片段进行对比,方便快速找出不同之处。此外,Vant 还有一个“历史版本”功能,开发者也可以随时查看历史版本中保存的代码片段。
ImagePreview和其他组件不同,不是通过HTML结构的方式来使用,而是通过函数调用的方式。使用前需要先引入它。
import Vue from "vue";
import { ImagePreview } from "vant";
Vue.use(ImagePreview);
直接传入图片数组,即可展示图片预览
ImagePreview([
"https://img.yzcdn.cn/1.jpg",
"https://img.yzcdn.cn/2.jpg"
]);
通过传入配置对象,可以指定初始图片的位置、监听关闭事件
ImagePreview({
images: [
"https://img.yzcdn.cn/1.jpg",
"https://img.yzcdn.cn/2.jpg"
],
startPosition: 1,
onClose() {
// do something
}
});
通过asyncClose属性可以开启异步关闭,开启后异步关闭后,只能通过实例上的 close 方法关闭图片预览
const instance = ImagePreview({
images: [
"https://img.yzcdn.cn/1.jpg",
"https://img.yzcdn.cn/2.jpg"
],
asyncClose: true
});
setTimeout(() => {
instance.close();
}, 1000);
如果需要在图片预览内嵌入组件或其他自定义内容,可以使用组件调用的方式,调用前需要通过 Vue.use 注册组件
<van-image-preview v-model="show" :images="images" @change="onChange">
<template v-slot:index>第{{ index }}页</template>
</van-image-preview>
export default {
data() {
return {
show: false,
index: 0,
images: [
"https://img.yzcdn.cn/1.jpg",
"https://img.yzcdn.cn/2.jpg"
]
};
},
methods: {
onChange(index) {
this.index = index;
}
}
}
通过函数调用 ImagePreview 时,支持传入以下选项:
参数名 | 说明 | 类型 | 默认值 |
---|---|---|---|
images | 需要预览的图片 URL 数组 | string[] | [] |
startPosition | 图片预览起始位置索引 | number | string | 0 |
swipeDuration | 动画时长,单位为ms | number | string | 500 |
showIndex | 是否显示页码 | boolean | true |
showIndicators | 是否显示轮播指示器 | boolean | false |
loop | 是否开启循环播放 | boolean | true |
onClose | 关闭时的回调函数 | Function | - |
onChange v2.0.3 | 切换图片时的回调函数,回调参数为当前索引 | Function | - |
asyncClose | 是否开启异步关闭 | boolean | false |
closeOnPopstate | 是否在页面回退时自动关闭 | boolean | false |
className | 自定义类名 | any | - |
lazyLoad | 是否开启图片懒加载,须配合 Lazyload 组件使用 | boolean | false |
maxZoom | 手势缩放时,最大缩放比例 | number | string | 3 |
minZoom | 手势缩放时,最小缩放比例 | number | string | 1/3 |
通过组件调用 ImagePreview 时,支持以下 Props:
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
images | 需要预览的图片 URL 数组 | string[] | [] |
start-position | 图片预览起始位置索引 | number | string | 0 |
swipe-duration | 动画时长,单位为 ms | number | string | 500 |
show-index | 是否显示页码 | boolean | true |
show-indicators | 是否显示轮播指示器 | boolean | false |
loop | 是否开启循环播放 | boolean | true |
async-close | 是否开启异步关闭 | boolean | false |
close-on-popstate | 是否在页面回退时自动关闭 | boolean | false |
class-name | 自定义类名 | any | - |
lazy-load | 是否开启图片懒加载,须配合 Lazyload 组件使用 | boolean | false |
max-zoom | 手势缩放时,最大缩放比例 | number | string | 3 |
min-zoom | 手势缩放时,最小缩放比例 | number | string | 1/3 |
通过组件调用 ImagePreview 时,支持以下事件:
事件 | 说明 | 回调参数 |
---|---|---|
close | 关闭时触发 | { index: 索引, url: 图片链接 } |
change | 切换当前图片时触发 | index, 当前图片的索引 |
通过组件调用 ImagePreview 时,支持以下插槽:
名称 | 说明 |
---|---|
index | 自定义页码内容 |
cover | 自定义覆盖在图片预览上方的内容 |
参数名 | 说明 | 类型 |
---|---|---|
url | 当前图片 URL | string |
index | 当前图片的索引值 | number |
参见在桌面端使用。
介绍Sticky 组件与 CSS 中position: sticky属性实现的效果一致,当组件在屏幕范围内时,会按照正常的布局排列,当组件滚出屏幕范...
用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。基础表格基础的表格展示用法。当Table元素中注入d...
出现在按钮、图标旁的数字或状态标记。基础用法展示新消息数量。定义value属性,它接受Number或者String。render() {return (div...
显示当前页面的路径,快速返回之前的任意页面。基础用法适用广泛的基础用法。在Breadcrumb中使用Breadcrumb.Item标签表示从首页...
可同时展开多个面板,面板之间不影响render() {const activeName = "1";return (Collapse value={activeName}Collapse.Item titl...
Loading 加载加载数据时显示动效。区域加载在表格等容器中加载数据时显示。Element Plus 提供了两种调用 Loading 的方法:指令和...
PageHeader 页头如果页面的路径比较简单,推荐使用页头组件而非面包屑组件。基础用法templateel-page-header @back="goBack" con...
Carousel 走马灯在有限空间内,循环播放同一类型的图片、文字等内容基础用法适用广泛的基础用法结合使用el-carousel和el-carouse...