全栈开发技术分享
首页
👉 CSS大揭秘 👈
  • 目录
  • 分类
  • 标签
  • 归档
  • Vue
  • JavaScript
  • 微信开发
  • 移动端H5调试工具
  • 国内十大前端团队网站
  • Nodejs
  • Egg
  • 环境搭建
  • 运维面板
  • 域名配置
  • Nginx
  • 收藏
  • 常用工具
  • 实用技巧
  • 常用命令
  • 友情链接
关于

Dreaming Lee 🍍 ҉҉҉҉҉҉҉҉

开发小菜鸡
首页
👉 CSS大揭秘 👈
  • 目录
  • 分类
  • 标签
  • 归档
  • Vue
  • JavaScript
  • 微信开发
  • 移动端H5调试工具
  • 国内十大前端团队网站
  • Nodejs
  • Egg
  • 环境搭建
  • 运维面板
  • 域名配置
  • Nginx
  • 收藏
  • 常用工具
  • 实用技巧
  • 常用命令
  • 友情链接
关于
  • 代码规范

    • Eslint
    • Eslint-Plugin-Vue
    • Stylelint
  • uniapp

    • 问题解决

      • 【uniapp】字节小程序BUG - “navigateToMiniProgram/getUserProfile:fail must be invoked by user tap gesture”
  • JavaScript

    • JS验证18位身份证号码
    • JS图片压缩
    • JS调用elementUI图片预览
      • DEMO
      • 背景
      • 实现方法
    • JS图片上传前校验大小、尺寸
  • Vue

    • Vue基础教程

      • Vue教程(1)-基础篇
      • Vue教程(2)-路由篇Vue-Router
      • Vue教程(3)- 状态管理Vuex
    • Vue自定义组件开发

      • Vue实现移动端轮播swiper组件
      • Vue实现switch开关组件
    • Vue扩展

      • Vue接入阿里OSS文件上传
    • Vue学习参考资料
  • 微信开发

    • 微信开发参考资料
    • 微信公众号

      • 微信公众号/订阅号/服务号主动给用户发消息
      • 微信jssdk自定义分享在iOS不生效
    • 微信小程序

      • 微信小程序区分运行环境:开发版/体验版/正式版
      • H5唤醒微信小程序
  • 收藏

    • 国内十大前端团队官网及GitHub
  • 常见问题解决

    • js错误

      • iframe下localStorage禁止访问。“Failed to read the localStorage property from Window”
      • TypeError: Promise.allSettled is not a function
    • IE兼容

      • fixed定位在IE下页面滚动时抖动
  • 工具

    • 移动端H5调试工具
  • 前端
  • JavaScript
Dreaming Lee 🍍 ҉҉҉҉҉҉҉҉
2021-05-14

JS调用elementUI图片预览

# DEMO

# 背景

  • elementUI提供了图片组件 el-image 来实现大图预览。
<el-image :src="url" :preview-src-list="srcList" />
1
  • 但在特定业务场景下,需要通过点击按钮或链接来实现图片预览功能,但官方并未提供相关方法。
  • 通过查阅elementUI源码发现 el-image-viewer 组件

# 实现方法

  1. 引入 el-image-viewer 组件
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
export default {
	components: { ElImageViewer },
}
1
2
3
4
  1. DEMO源码
点击查看 DEMO 源码
<template>
  <div>
    <button @click="openImageView(0)">打开预览(第一张)</button>
    <button @click="openImageView(1)">打开预览(第二张)</button>
    <el-image-viewer
			v-if="showViewer"
			:on-close="() => { showViewer = false }"
			:url-list="imgList"
			:initialIndex="initialIndex"
		/>
  </div>
</template>

<script>
export default {
	data() {
		return {
			showViewer: false, // 图片预览组件
			initialIndex: 0, // 图片预览index
      imgList: [
        '//cdn.1024vip.cn/tech/images/avatar/1.jpg',
        '//cdn.1024vip.cn/tech/images/avatar/2.jpg',
        '//cdn.1024vip.cn/tech/images/avatar/3.jpg',
        '//cdn.1024vip.cn/tech/images/avatar/4.jpg',
        '//cdn.1024vip.cn/tech/images/avatar/5.jpg',
      ]
		}
	},
	methods: {
    openImageView(idx) {
      this.initialIndex = idx
      this.$nextTick(() => {
        this.showViewer = true
      })
    }
	},
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#elementUI
上次更新: 2021-05-14 18:15:38
JS图片压缩
JS图片上传前校验大小、尺寸

← JS图片压缩 JS图片上传前校验大小、尺寸→

最近更新
01
【uniapp】字节小程序BUG - “navigateToMiniProgram/getUserProfile:fail must be invoked by user tap gesture”
06-21
02
七牛云上传自有证书
04-27
03
使用腾讯云申请免费SSL证书
04-27
更多文章>
Theme by Vdoing | Copyright © 2020-2024 | 豫ICP备2020030395号 | 靳立祥 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式