3.0 KiB
Raw Blame History

ImagePreview

Install

import { ImagePreview } from 'vant';

Vue.use(ImagePreview);

Usage

Basic Usage

ImagePreview([
  'https://img.yzcdn.cn/1.jpg',
  'https://img.yzcdn.cn/2.jpg'
]);

Custom config

ImagePreview({
  images: [
    'https://img.yzcdn.cn/1.jpg',
    'https://img.yzcdn.cn/2.jpg'
  ],
  startPosition: 1,
  onClose() {
    // do something
  }
});

Async Close

const instance = ImagePreview({
  images: [
    'https://img.yzcdn.cn/1.jpg',
    'https://img.yzcdn.cn/2.jpg'
  ],
  asyncClose: true
});

setTimeout(() => {
  instance.close();
}, 1000);

Component Call

<van-image-preview
  v-model="show"
  :images="images"
  @change="onChange"
>
  <template v-slot:index>Page: { 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;
    }
  }
}

Options

Attribute Description Type Default
images Images URL list Array []
startPosition Start position Number 0
showIndex Whether to show index Boolean true
showIndicators Whether to show indicators Boolean false
loop Whether to enable loop Boolean true
onClose Close callback Function -
asyncClose Whether to enable async close Boolean false
className Custom className `String Array
lazyLoad Whether to enable thumb lazy loadshould register Lazyload component Boolean false
maxZoom Max zoom Number 3
minZoom Min zoom Number 1/3

Props

Attribute Description Type Default
images Images URL list Array []
start-position Start position Number 0
show-index Whether to show index Boolean true
show-indicators Whether to show indicators Boolean false
loop Whether to enable loop Boolean true
async-close Whether to enable async close Boolean false
class-name Custom className `String Array
lazy-load Whether to enable thumb lazy loadshould register Lazyload component Boolean false
max-zoom Max zoom Number 3
min-zoom Min zoom Number 1/3

Event

Event Description Parameters
close Triggered when close { index, url }
change Triggered when current image change index: index of current image

Slot

name Description
index Custom index

onClose Parematers

Attribute Description Type
url Url of current image Number
index Index of current image String