标签:插件 vue item viewer 布尔值 Viewer true 图片
一、预览图
二、地址及参数
viewer.js GitHub地址:https://github.com/fengyuanchen/viewerjs
演示地址:https://fengyuanchen.github.io/viewerjs/
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
inline | 布尔值 | false | 启用 inline 模式 |
button | 布尔值 | true | 显示右上角关闭按钮(jQuery 版本无效) |
navbar | 布尔值/整型 | true | 显示缩略图导航 |
title | 布尔值/整型 | true | 显示当前图片的标题(现实 alt 属性及图片尺寸) |
toolbar | 布尔值/整型 | true | 显示工具栏 |
tooltip | 布尔值 | true | 显示缩放百分比 |
movable | 布尔值 | true | 图片是否可移动 |
zoomable | 布尔值 | true | 图片是否可缩放 |
rotatable | 布尔值 | true | 图片是否可旋转 |
scalable | 布尔值 | true | 图片是否可翻转 |
transition | 布尔值 | true | 使用 CSS3 过渡 |
fullscreen | 布尔值 | true | 播放时是否全屏 |
keyboard | 布尔值 | true | 是否支持键盘 |
interval | 整型 | 5000 | 播放间隔,单位为毫秒 |
zoomRatio | 浮点型 | 0.1 | 鼠标滚动时的缩放比例 |
minZoomRatio | 浮点型 | 0.01 | 最小缩放比例 |
maxZoomRatio | 数字 | 100 | 最大缩放比例 |
zIndex | 数字 | 2015 | 设置图片查看器 modal 模式时的层级 |
url | 字符串/函数 | src | 设置大图片的 url |
build | 函数 | null | 回调函数,具体查看演示 |
built | 函数 | null | 回调函数,具体查看演示 |
show | 函数 | null | 回调函数,具体查看演示 |
hide | 函数 | null | 回调函数,具体查看演示 |
view | 函数 | null | 回调函数,具体查看演示 |
三、代码示例
3.1 引入组件
全局引入:
import 'viewerjs/dist/viewer.css';
import Viewer from 'v-viewer'; //图片浏览组件
Vue.component('Viewer', Viewer);
Vue.use(Viewer, {
defaultOptions: {
zIndex: 9999
}
});
Viewer.setDefaults({
Options: {
'inline': false,
'button': true,
'navbar': false,
'title': false,
'toolbar': true,
'tooltip': true,
'movable': true,
'zoomable': true,
'rotatable': true,
'scalable': true,
'transition': true,
'fullscreen': true,
'keyboard': true,
'url': 'data-source'
}
});
局部引入:
import 'viewerjs/dist/viewer.css';
import Viewer from 'v-viewer'; //图片浏览组件
export default {
components: {
Viewer
},
}
3.2 html
<viewer ref="viewer" :options="options" :images='imgArr' style="display: none;" @inited="inited">
<img v-for="(src,index) in imgArr" :key="index" :src="src" :onerror="errorDefaultImg">
</viewer>
3.3 js
data(){
return{
imgArr: [], //存放所有的图片地址
options: {
title: false, //预览组件-不显示标题
},
index: 0, //当前图片的索引
errorDefaultImg: require('../../../../assets/none-img.jpg'),//错误图片处理(虽然我也不知道为啥不太好使)
}
},
methods: {
//获取请求数据
getListData() {
const params = {search: this.searchVal, pageSize: this.pageSize, page: this.page};
getImages(params).then(res => {
this.imgArr = [];
if (res.code == 0) {
const dataArr = res.data;
this.listData = dataArr.map(item => {
if (item.path) this.imgArr.push(item.path);// 预览组件传的值
if (item.path == this.value)item.selected = true;
else item.selected = false;
return item;
});
this.total = res.total;
}
});
},
//初始化预览组件
inited(viewer) {
this.$viewer = viewer;
},
onPreview: debounce(function (imgIndex) {
// 显示预览组件
this.$viewer.show();
// 从当前图片开始预览
this.$viewer.view(imgIndex);
}, 300),
}
完结撒花~
标签:插件,vue,item,viewer,布尔值,Viewer,true,图片 来源: https://blog.csdn.net/Little_Fishs/article/details/115301105
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。