如题,使用vue3+ele-plus的页面,采用el-image组件实现图片展示及点击大图预览功能,该页面要兼容PAD移动端访问使用,其中el-image组件配置的点击大图预览功能在PAD端使用时无法点击图片局部进行拖拽,求教兼容解决方法。
使用el-image组件显示图片,并可点击大图预览,代码及截图如下:
<!-- 病历图片展示 -->
<el-image class="previewImg" :src="previewImageUrl" :zoom-rate="1.2" :preview-src-list="previewSrcList"
:initial-index="1" fit="contain">
<template #error>
<div class="image-slot">
<el-icon>
<Picture />
</el-icon>
</div>
</template>
</el-image>
PC端访问,点击大图预览功能使用正常,如下图:
求教兼容实现PAD端访问网页可正常点击图片实现大图预览,并可拖拽局部方法缩小、旋转等功能的解决办法。或者有无其他兼容PC端、PAD端访问图片展示及点击大图预览的好的插件推荐。
在移动端浏览器中,由于手指触摸和点击行为的处理方式与 PC 端浏览器不同,可能会导致一些组件在移动端表现不一致。
对于 el-image 组件的图片预览功能,存在 PAD 端无法点击图片局部进行拖拽的问题。这可能是由于 PAD 端触摸事件的处理方式与 PC 端不同导致的。虽然 Vue.js 框架对不同浏览器和终端设备的兼容性非常高,但是对于一些特殊情况,我们还需要在代码中进行适配。
为了解决这个问题,你可以采用以下几种方式:
这样,你就可以在 el-image 组件的上层添加一个容器元素,监听 touch 事件,并记录手指触摸点的位置以及位移量,在 touchend 事件中判断手势操作是否符合要求,来实现图片的缩放和局部拖拽。
需要注意的是,在实际开发中,不同的移动端设备和浏览器可能存在不同的手势操作和事件处理方式,这需要在代码中进行适配和测试。