vue使用elementUi中的图片查看器el-image-viewer

vue使用element中的图片查看器el-image-viewer

安装elementUi

 1. npm i element-ui -S2. main.js中引入 :
	import ElementUI from 'element-ui'
	Vue.use(ElementUI)
  1. JS中引入图片查看组件:
import elImageViewer from 'element-ui/packages/image/src/image-viewer';

components: {elImageViewer},
  1. html中使用:
 <el-image-viewer v-if="showPictureView" :zIndex="Number(99999)" :on-close="closeImgViewer" :url-list="viewImgList" :initialIndex="viewPicIndex" />
  1. js参数:
showPictureView: false,                        // 是否显示图片预览
viewPicIndex: 0,                      			    // 图片预览下标
viewImgList: [],                      			    // 图片预览列表
  1. js 关闭图片预览方法:
closeImgViewer() {
	this.showPictureView = false;
}
### 如何在 Vue2 中单独引入并使用 Element UI 的 `el-image-viewer` 组件 为了实现仅在 Vue2 项目中单独引入和使用 `el-image-viewer` 组件,可以按照以下方法操作: #### 安装依赖 首先需要安装 `element-ui` 或者其按需加载工具 `babel-plugin-component` 来支持单独引入组件的功能。 ```bash npm install element-ui --save npm install babel-plugin-component --save-dev ``` 如果希望减少打包体积,则推荐通过 `.babelrc` 文件配置插件来按需加载所需的组件[^1]。 #### 配置 Babel 插件 编辑项目的 `.babelrc` 文件,添加如下内容以便于按需导入所需模块: ```json { "plugins": [ ["component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" }] ] } ``` 此设置允许开发者只引入必要的样式文件以及逻辑代码,从而优化最终构建产物大小。 #### 单独引入 el-image-viewer 接着,在入口 JavaScript 文件或者特定页面/组件里完成对 `el-image-viewer` 的独立注册过程。以下是具体实现方式: ```javascript // main.js or specific component file import Viewer from 'element-ui/packages/image/src/component/viewer.vue'; import 'element-ui/lib/theme-chalk/image.css'; // 加载对应css资源 const ImageViewer = { install(Vue) { Vue.component('ElImageViewer', Viewer); } }; export default ImageViewer; ``` 随后,在应用实例初始化之前调用上述定义好的插件对象即可全局生效;如果是局部场景下才需要用到该功能的话也可以直接作为子级元素嵌套至目标位置处声明式渲染出来。 #### 使用示例 下面展示了一个简单的例子说明怎样触发查看器显示指定图像列表中的某一张图: ```html <template> <div class="example"> <!-- 图片缩略图 --> <img v-for="(item, index) in images" :key="index" :src="item.src" @click="handlePreview(index)" style="width: 80px; height: auto;" alt="" /> <!-- 查看大图 --> <el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="images.map(i => i.src)" :initial-index="currentIndex"/> </div> </template> <script> import ElImageViewer from './path/to/your/customized-el-image-viewer'; export default { components: { ElImageViewer }, data() { return { showViewer: false, currentIndex: null, images:[ {"src":"https://via.placeholder.com/350"}, {"src":"https://via.placeholder.com/400"} ], }; }, methods:{ handlePreview(index){ this.currentIndex=index; this.showViewer=true; }, closeViewer(){ this.showViewer=false; } } }; </script> ``` 以上模板部分展示了如何绑定事件监听器到每张小尺寸预览图片上,并且当点击任意一幅作品时开启全屏模式下的详细视图效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值