v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条

效果

导入组件

复制代码
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
components:{ ElImageViewer },

模板使用组件

复制代码
<el-image-viewer
      v-if="isShowPics"
      :on-close="closeViewer"
      :url-list="srcList"
    />

定义两个变量

复制代码
isShowPics:false,
   srcList:[],
在v-html添加点击获取图片
复制代码
<div v-html="newsForm.content" @click="getImg($event)" style="padding-left: 50px;padding-right: 50px;"></div>

两个点击事件,包含预览时滚动异常

复制代码
closeViewer(){
      this.isShowPics = false
      this.srcList = []
      move()
      //取消滑动限制
      function move(){
        var mo=function(e){
          e.preventDefault();
      };
      document.body.style.overflow='';//出现滚动条
      document.removeEventListener("touchmove",mo,false);
    }
    },
    getImg($event){
      let currentSrc=$event.target.currentSrc
      if (currentSrc){
        this.srcList = [currentSrc]
        this.isShowPics = true
        stop()
      }
        //禁止滚动
      function stop(){
        var mo=function(e){
          e.preventDefault();
        };
        document.body.style.overflow='hidden';
        document.addEventListener("touchmove",mo,false);//禁止页面滑动
      }
    },
相关推荐
Auroral1562 分钟前
基于RabbitMQ的异步通知系统设计与实现
前端·后端
栗筝i3 分钟前
Spring 核心技术解析【纯干货版】- XV:Spring 网络模块 Spring-Web 模块精讲
前端·网络·spring
打野赵怀真5 分钟前
H5如何禁止动画闪屏?
前端·javascript
zhangxingchao5 分钟前
关于浮点数的思考
前端
Riesenzahn6 分钟前
你喜欢Sass还是Less?为什么?
前端·javascript
玄魂6 分钟前
基于Vue框架的开源大屏项目实践
前端·开源·数据可视化
晴殇i8 分钟前
一行代码解决跨域问题,JavaScript新特性解析
前端
挖稀泥的工人11 分钟前
面试看这一篇webpack
前端·webpack
卖报的小行家_13 分钟前
Vue3源码,拦截对象,对比Vue2
前端
蒜香拿铁16 分钟前
vue3自动导入组合式api
前端·javascript