使用element-ui自带隐藏的图片查看器el-image-viewer浏览图片

前言

随着版本的更新Element UI新增了新的组件,例如大图预览组件:

但在浏览完相应文档后却发现,element-ui仅提供了 <el-image> 标签的点击预览。但如果遇到如下图所示的需求时,应该怎样处理呢?

使用方法

通过翻看Image组件源码,

地址:github.com/ElemeFE/ele...

发现大图预览是一个小组件el-image-viewer:

在打开看看el-image-viewer小组件源码的props,

地址:github.com/ElemeFE/ele...

发现如下:

yaml 复制代码
props: {
    urlList: {
      type: Array,
      default: () => []
    },
    zIndex: {
      type: Number,
      default: 2000
    },
    onSwitch: {
      type: Function,
      default: () => {}
    },
    onClose: {
      type: Function,
      default: () => {}
    },
    initialIndex: {
      type: Number,
      default: 0
    }
  }

从字面意思不难理解它绑定参数的含义,

urlList 绑定的文件列表

zIndex 查看器层级

onSwitch 图片切换事件

onClose 查看器关闭事件

initialIndex 初始化展示哪张图片

这里我们只需要使用到的就只有urlListonClose两个属性 ,一个用来放图片链接一个用来关闭查看器。

需要使用的属性我们知道了,然后我们就在代码里面引入image-viewer就可以直接使用。

xml 复制代码
<template>
    <div>
        <el-button @click="onPreview">预览</el-button>
        <el-image-viewer  v-if="showViewer" :on-close="closeViewer" :url-list="[url]" />
    </div>
</template>
<script>
    // 导入组件
    import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
    
    export default {
      name: 'Index',
      components: { ElImageViewer },
      data() {
        return {
          showViewer: false, // 显示查看器
          url:'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg'
        }
      },
      methods: {
        onPreview() {
          this.showViewer = true
        },
        // 关闭查看器
        closeViewer() {
          this.showViewer = false
        }
      }
</script>
值得注意的是,如果el-image-viewer组件在el-dialog里面,el-dialog的层级是优先的,因此我们需要属性z-index去更改el-image-viewer组件样式的层级:
xml 复制代码
    <!-- 图片查看器 -->
    <el-image-viewer  v-if="showViewer" :on-close="closeViewer" :url-list="[url]"  index="9999"/>
相关推荐
ZC跨境爬虫2 分钟前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
下北沢美食家5 分钟前
CSS面试题2
前端·css
weixin_4617694012 分钟前
npm create vue@latest 错误
前端·vue.js·npm
WindrunnerMax13 分钟前
从零实现富文本编辑器#13-React非编辑节点的内容渲染
前端·架构·github
四千岁13 分钟前
Ollama+OpenWebUI 最佳组合:本地大模型可视化交互方案
前端·javascript·后端
写不来代码的草莓熊16 分钟前
el-date-picker ,自定义输入数字自动转换显示yyyy-mm-dd HH:mm:ss格式
前端·javascript·vue.js
ssshooter16 分钟前
Tauri 应用苹果签名踩坑实录
前端·架构·全栈
DeSheng20 分钟前
npm 从入门到精通(二):再理解,彻底搞懂 package.json、node_modules 和 package-lock
前端
用户693717500138420 分钟前
XChat 为什么选择 Rust 语言开发
android·前端·ios
局i21 分钟前
从零搭建 Vite + React 项目:从环境准备到干净项目的完整指南
前端·react.js·前端框架