el-image-viewer 图片预览组件

Element Ui为el-image组件带了图片预览功能,只需添加参数:preview-src-list="srcList"即可实现,但灵活性欠缺。
比如我的项目中要为每个el-image元素实现左键点击选中,因为图片预览功能默认是鼠标左键,冲突了。
使用方法:

import ElImageViewer from 'element-ui/packages/image/src/image-viewer'

components : { ElImageViewer }

<el-image-viewer
      v-if="showViewer"
      :on-close="closeViewer"
      :url-list="viewerUrlList" />
         
// 必须用v-if,如用v-show会出现二次打开后键盘事件无法触发(个人猜测焦点问题,还需看源码才能确认)
// 每次colseViewer时如将 viewerUrlList=[] 会报错。

当预览一些列图片的时候,如何保证点击的那个图出现在预览界面的第一个呢?

<el-image class="imgBlock"
                v-for="(url, index) in urls"
                :key="index"
                :src="url"
                fit="contain"
                lazy
                @contextmenu.prevent="openImgViewer(index)"> // 此处可以获取到index

methods:{
    openImgViewer(index){
        // 将index的那个图片放在第一位
        this.viewerUrlList=this.urls.slice(index).concat(this.urls.slice(0, index))
        // 显示预览组件
        this.showViewer = true 
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容