vue点击按钮来触发图片的预览功能,并且解决预览之后,鼠标滚轮页面依然滚动问题;

饿了么有图片预览的组件区别 el-image和el-image-viewer。el-image它的src属性是指定一个图片作为触发图片预览。 这里我们需要按钮触发,当然使用el-image-viewer啦

先看下应用场景
在这里插入图片描述点击 查看名片 来预览我们的图片
在这里插入图片描述效果图效果图效果图

来,上代码!

<template>
 <el-descriptions title="服务机构信息" class="description" :column="2">
  <el-descriptions-item label="名片">
        <el-tag  @click="showPre" class="cursor">查看名片</el-tag></el-descriptions-item>
    </el-descriptions>
 </el-descriptions>

<!-- 图片预览 -->
    <el-image-viewer
      v-if="showImageViewer"
      :url-list="srcList"
      hide-on-click-modal
      teleported
      @close="closePre"
    />
 </template>
 <script lang="ts" setup>
import {ref,reactive} from "vue"
const srcList =ref( [
  'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',])
  
const showImageViewer=ref(false)//控制图片预览组件
//点击按钮打开组件
const showPre=()=>{  
    document.body.style.overflow = 'hidden';
    showImageViewer.value = true
  }
  //关闭预览el-image-viewer组件的事件
    const closePre=()=>{
showImageViewer.value=false 
document.body.style.overflow = 'auto';
  }
</script>

*出现了一个问题预览之后的遮罩层不能覆盖住页面滚动条,鼠标滚轮页面依然滚动问题;
*
以为是z-index层级不够,可问题并不是。
解决方法是;
预览组件打开,控制body的overflow = ‘hidden’;
预览组件\关闭,控制body的overflow = ‘auto’;
所以加了这两句代码。感觉像是组件的不完整问题吧

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一行代码上晴天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值