W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
ImagePreview和其他組件不同,不是通過(guò)HTML結(jié)構(gòu)的方式來(lái)使用,而是通過(guò)函數(shù)調(diào)用的方式。使用前需要先引入它。
import Vue from 'vue';
import { ImagePreview } from 'vant';
Vue.use(ImagePreview);
直接傳入圖片數(shù)組,即可展示圖片預(yù)覽
ImagePreview([
'https://img.yzcdn.cn/1.jpg',
'https://img.yzcdn.cn/2.jpg'
]);
通過(guò)傳入配置對(duì)象,可以指定初始圖片的位置、監(jiān)聽(tīng)關(guān)閉事件
ImagePreview({
images: [
'https://img.yzcdn.cn/1.jpg',
'https://img.yzcdn.cn/2.jpg'
],
startPosition: 1,
onClose() {
// do something
}
});
通過(guò)asyncClose屬性可以開(kāi)啟異步關(guān)閉,開(kāi)啟后異步關(guān)閉后,只能通過(guò)實(shí)例上的 close 方法關(guān)閉圖片預(yù)覽
const instance = ImagePreview({
images: [
'https://img.yzcdn.cn/1.jpg',
'https://img.yzcdn.cn/2.jpg'
],
asyncClose: true
});
setTimeout(() => {
instance.close();
}, 1000);
如果需要在圖片預(yù)覽內(nèi)嵌入組件或其他自定義內(nèi)容,可以使用組件調(diào)用的方式,調(diào)用前需要通過(guò) Vue.use 注冊(cè)組件
<van-image-preview v-model="show" :images="images" @change="onChange">
<template v-slot:index>第{{ index }}頁(yè)</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;
}
}
}
通過(guò)函數(shù)調(diào)用 ImagePreview 時(shí),支持傳入以下選項(xiàng):
參數(shù)名 | 說(shuō)明 | 類型 | 默認(rèn)值 |
---|---|---|---|
images | 需要預(yù)覽的圖片 URL 數(shù)組 | string[] | [] |
startPosition | 圖片預(yù)覽起始位置索引 | number | string | 0 |
swipeDuration | 動(dòng)畫(huà)時(shí)長(zhǎng),單位為ms | number | string | 500 |
showIndex | 是否顯示頁(yè)碼 | boolean | true |
showIndicators | 是否顯示輪播指示器 | boolean | false |
loop | 是否開(kāi)啟循環(huán)播放 | boolean | true |
onClose | 關(guān)閉時(shí)的回調(diào)函數(shù) | Function | - |
onChange v2.0.3 | 切換圖片時(shí)的回調(diào)函數(shù),回調(diào)參數(shù)為當(dāng)前索引 | Function | - |
asyncClose | 是否開(kāi)啟異步關(guān)閉 | boolean | false |
closeOnPopstate | 是否在頁(yè)面回退時(shí)自動(dòng)關(guān)閉 | boolean | false |
className | 自定義類名 | any | - |
lazyLoad | 是否開(kāi)啟圖片懶加載,須配合 Lazyload 組件使用 | boolean | false |
maxZoom | 手勢(shì)縮放時(shí),最大縮放比例 | number | string | 3 |
minZoom | 手勢(shì)縮放時(shí),最小縮放比例 | number | string | 1/3 |
通過(guò)組件調(diào)用 ImagePreview 時(shí),支持以下 Props:
參數(shù) | 說(shuō)明 | 類型 | 默認(rèn)值 |
---|---|---|---|
images | 需要預(yù)覽的圖片 URL 數(shù)組 | string[] | [] |
start-position | 圖片預(yù)覽起始位置索引 | number | string | 0 |
swipe-duration | 動(dòng)畫(huà)時(shí)長(zhǎng),單位為 ms | number | string | 500 |
show-index | 是否顯示頁(yè)碼 | boolean | true |
show-indicators | 是否顯示輪播指示器 | boolean | false |
loop | 是否開(kāi)啟循環(huán)播放 | boolean | true |
async-close | 是否開(kāi)啟異步關(guān)閉 | boolean | false |
close-on-popstate | 是否在頁(yè)面回退時(shí)自動(dòng)關(guān)閉 | boolean | false |
class-name | 自定義類名 | any | - |
lazy-load | 是否開(kāi)啟圖片懶加載,須配合 Lazyload 組件使用 | boolean | false |
max-zoom | 手勢(shì)縮放時(shí),最大縮放比例 | number | string | 3 |
min-zoom | 手勢(shì)縮放時(shí),最小縮放比例 | number | string | 1/3 |
通過(guò)組件調(diào)用 ImagePreview 時(shí),支持以下事件:
事件 | 說(shuō)明 | 回調(diào)參數(shù) |
---|---|---|
close | 關(guān)閉時(shí)觸發(fā) | { index: 索引, url: 圖片鏈接 } |
change | 切換當(dāng)前圖片時(shí)觸發(fā) | index, 當(dāng)前圖片的索引 |
通過(guò)組件調(diào)用 ImagePreview 時(shí),支持以下插槽:
名稱 | 說(shuō)明 |
---|---|
index | 自定義頁(yè)碼內(nèi)容 |
cover | 自定義覆蓋在圖片預(yù)覽上方的內(nèi)容 |
參數(shù)名 | 說(shuō)明 | 類型 |
---|---|---|
url | 當(dāng)前圖片 URL | string |
index | 當(dāng)前圖片的索引值 | number |
參見(jiàn)在桌面端使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: