点击 文字/按钮 打开图片预览

450 阅读1分钟

说明

记录 Element Plus 点击按钮打开 Image Viewer 操作,该操作使用 <el-image-viewer> 组件,在官方文 档并未提到。

Demo 预览

使用方法

<template>
  <el-image-viewer
    v-if="imageViewerShow"
    teleported
    :url-list="srcList"
    @close="closeImageViewer"
  />
  <button @click="imageViewerShow = true">open image viewer</button>
</template>
<script lang="ts" setup>
import { ref } from 'vue';

const imageViewerShow = ref(false)
const srcList = [
  'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
  'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
  'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
  'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
]

const closeImageViewer = function(){
  imageViewerShow.value = false
}
</script>
<style scoped>
.demo-image__error .image-slot {
  font-size: 30px;
}
.demo-image__error .image-slot .el-icon {
  font-size: 30px;
}
.demo-image__error .el-image {
  width: 100%;
  height: 200px;
}
</style>