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);//禁止页面滑动
      }
    },
相关推荐
-优势在我1 小时前
Android TabLayout 实现随意控制item之间的间距
android·java·ui
ObjectX前端实验室2 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
CL_IN2 小时前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
浪九天3 小时前
Vue 不同大版本与 Node.js 版本匹配的详细参数
前端·vue.js·node.js
qianmoQ4 小时前
第五章:工程化实践 - 第三节 - Tailwind CSS 大型项目最佳实践
前端·css
椰果uu4 小时前
前端八股万文总结——JS+ES6
前端·javascript·es6
微wx笑4 小时前
chrome扩展程序如何实现国际化
前端·chrome
~废弃回忆 �༄4 小时前
CSS中伪类选择器
前端·javascript·css·css中伪类选择器
CUIYD_19894 小时前
Chrome 浏览器(版本号49之后)‌解决跨域问题
前端·chrome
IT、木易4 小时前
跟着AI学vue第五章
前端·javascript·vue.js