# ImagePreview 图片预览
图片放大预览,支持函数调用和组件调用两种方式。
# 引入
import PressImagePreview from 'press-ui/press-image-preview/press-image-preview';
export default {
components: {
PressImagePreview,
}
}
# 代码演示
# 基础用法
先在页面中埋入组件,然后函数式调用imagePreview
即可。
<ImagePreview
:id="FUNCTIONAL_ID_MAP.IMAGE_PREVIEW"
mode="functional"
/>
import ImagePreview from 'press-ui/press-image-preview/press-image-preview.vue';
import { imagePreview } from 'press-ui/press-image-preview/index';
export default {
components: {
ImagePreview,
},
methods: {
show() {
imagePreview({
selector: `#${FUNCTIONAL_ID_MAP.IMAGE_PREVIEW}`,
images: this.images,
}).then(() => {
});
}
}
}
# 指定初始位置
支持传入配置对象,并通过 startPosition
选项指定图片的初始位置(索引值)。
imagePreview({
selector: `#${FUNCTIONAL_ID_MAP.IMAGE_PREVIEW}`,
images: this.images,
startPosition: 1,
})
# 展示关闭按钮
设置 closeable
属性后,会在弹出层的右上角显示关闭图标,并且可以通过 close-icon
属性自定义图标,使用close-icon-position
属性可以自定义图标位置。
imagePreview({
selector: `#${FUNCTIONAL_ID_MAP.IMAGE_PREVIEW}`,
images: this.images,
closeable: true,
})
# 监听关闭事件
imagePreview
方法返回的是promise
,关闭时状态会变成resolved
,可以在then
方法中监听。
imagePreview({
selector: `#${FUNCTIONAL_ID_MAP.IMAGE_PREVIEW}`,
images: this.images,
closeable: true,
}).then(() => {
this.onGTip(this.t('closeTip'));
})
# 异步关闭
通过 asyncClose
属性可以开启异步关闭,开启后异步关闭后,点击图片、蒙层、关闭按钮等,会将promise
状态置为rejected
,并传入实例对象参数,用户可以调用context.closeDialog
方法关闭。
imagePreview({
selector: `#${FUNCTIONAL_ID_MAP.IMAGE_PREVIEW}`,
images: this.images,
asyncClose: true,
}).catch(({ context }) => {
context.closeDialog();
})
# 组件调用
支持组件调用,父组件需在close
时设置show
为false
。
<ImagePreview
:show="show"
closeable
:start-position="1"
:images="images"
:custom-style="customStyle"
@close="show = false"
/>
# API
# Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
show | 是否显示,函数调用时固定为true | boolean | false |
images | 图片列表 | array<string> | - |
start-position | 初始位置 | number | 0 |
show-index | 是否展示索引 | boolean | false |
async-close | 是否异步关闭 | boolean | false |
closeable | 是否显示关闭图标 | boolean | false |
close-icon | 关闭图标名称 | string | clear |
close-icon-position | 关闭图标位置 | string | top-right |
custom-style | 自定义样式 | string | - |
custom-class | 自定义类名 | string | - |
z-index | 层级 | number | 10 |
# Events
事件名 | 说明 | 参数 |
---|---|---|
close | 关闭时触发 | - |
change | 切换图片时触发 | active(当前索引) |