mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
[improvement] ImagePreview: add showIndicators prop (#1992)
This commit is contained in:
parent
2e3ecf6402
commit
edaad55e30
@ -10,7 +10,7 @@
|
|||||||
<swipe
|
<swipe
|
||||||
ref="swipe"
|
ref="swipe"
|
||||||
:initial-swipe="startPosition"
|
:initial-swipe="startPosition"
|
||||||
:show-indicators="false"
|
:show-indicators="showIndicators"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
>
|
>
|
||||||
<swipe-item v-for="(item, index) in images" :key="index">
|
<swipe-item v-for="(item, index) in images" :key="index">
|
||||||
@ -50,6 +50,7 @@ export default create({
|
|||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
|
showIndicators: Boolean,
|
||||||
images: {
|
images: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: () => []
|
default: () => []
|
||||||
|
@ -52,4 +52,5 @@ setTimeout(() => {
|
|||||||
| images | Images URL list | `Array` | `[]` |
|
| images | Images URL list | `Array` | `[]` |
|
||||||
| startPosition | Start position | `Number` | `0` |
|
| startPosition | Start position | `Number` | `0` |
|
||||||
| showIndex | Whether to show index | `Boolean` | `true` |
|
| showIndex | Whether to show index | `Boolean` | `true` |
|
||||||
|
| showIndicators | Whether to show indicators | `Boolean` | `false` |
|
||||||
| onClose | Close callback | `Function` | - |
|
| onClose | Close callback | `Function` | - |
|
||||||
|
@ -4,6 +4,14 @@ import { isServer } from '../utils';
|
|||||||
|
|
||||||
let instance;
|
let instance;
|
||||||
|
|
||||||
|
const defaultConfig = {
|
||||||
|
value: true,
|
||||||
|
images: [],
|
||||||
|
showIndex: true,
|
||||||
|
showIndicators: false,
|
||||||
|
startPosition: 0
|
||||||
|
};
|
||||||
|
|
||||||
const initInstance = () => {
|
const initInstance = () => {
|
||||||
instance = new (Vue.extend(VueImagePreview))({
|
instance = new (Vue.extend(VueImagePreview))({
|
||||||
el: document.createElement('div')
|
el: document.createElement('div')
|
||||||
@ -21,17 +29,18 @@ const ImagePreview = (images, startPosition) => {
|
|||||||
initInstance();
|
initInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
const config = Array.isArray(images) ? { images, startPosition } : images;
|
const options = Array.isArray(images) ? { images, startPosition } : images;
|
||||||
|
|
||||||
|
Object.assign(instance, {
|
||||||
|
...defaultConfig,
|
||||||
|
...options
|
||||||
|
});
|
||||||
|
|
||||||
instance.value = true;
|
|
||||||
instance.images = config.images;
|
|
||||||
instance.showIndex = config.showIndex || true;
|
|
||||||
instance.startPosition = config.startPosition || 0;
|
|
||||||
instance.$on('input', show => {
|
instance.$on('input', show => {
|
||||||
instance.value = show;
|
instance.value = show;
|
||||||
if (!show) {
|
if (!show) {
|
||||||
instance.$off('input');
|
instance.$off('input');
|
||||||
config.onClose && config.onClose();
|
options.onClose && options.onClose();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -60,4 +60,5 @@ setTimeout(() => {
|
|||||||
| images | 需要预览的图片 URL 数组 | `Array` | `[]` | 1.1.16 |
|
| images | 需要预览的图片 URL 数组 | `Array` | `[]` | 1.1.16 |
|
||||||
| startPosition | 图片预览起始位置索引 | `Number` | `0` | 1.1.16 |
|
| startPosition | 图片预览起始位置索引 | `Number` | `0` | 1.1.16 |
|
||||||
| showIndex | 是否显示页码 | `Boolean` | `true` | 1.3.4 |
|
| showIndex | 是否显示页码 | `Boolean` | `true` | 1.3.4 |
|
||||||
|
| showIndicators | 是否显示轮播指示器 | `Boolean` | `false` | 1.3.10 |
|
||||||
| onClose | 关闭时的回调函数 | `Function` | - | 1.1.16 |
|
| onClose | 关闭时的回调函数 | `Function` | - | 1.1.16 |
|
||||||
|
1
types/image-preview.d.ts
vendored
1
types/image-preview.d.ts
vendored
@ -4,6 +4,7 @@ export type ImagePreviewOptions = string[] | {
|
|||||||
images: string[];
|
images: string[];
|
||||||
startPosition?: number;
|
startPosition?: number;
|
||||||
showIndex?: boolean;
|
showIndex?: boolean;
|
||||||
|
showIndicators?: boolean;
|
||||||
onClose?: () => any;
|
onClose?: () => any;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user