From edaad55e301487842158276b5d50f7eff58874a5 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 29 Oct 2018 17:46:12 +0800 Subject: [PATCH] [improvement] ImagePreview: add showIndicators prop (#1992) --- packages/image-preview/ImagePreview.vue | 3 ++- packages/image-preview/en-US.md | 1 + packages/image-preview/index.js | 21 +++++++++++++++------ packages/image-preview/zh-CN.md | 1 + types/image-preview.d.ts | 1 + 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/image-preview/ImagePreview.vue b/packages/image-preview/ImagePreview.vue index 57bf3fb66..7762d66ef 100644 --- a/packages/image-preview/ImagePreview.vue +++ b/packages/image-preview/ImagePreview.vue @@ -10,7 +10,7 @@ @@ -50,6 +50,7 @@ export default create({ }, props: { + showIndicators: Boolean, images: { type: Array, default: () => [] diff --git a/packages/image-preview/en-US.md b/packages/image-preview/en-US.md index f4754725a..c1c8831c5 100644 --- a/packages/image-preview/en-US.md +++ b/packages/image-preview/en-US.md @@ -52,4 +52,5 @@ setTimeout(() => { | images | Images URL list | `Array` | `[]` | | startPosition | Start position | `Number` | `0` | | showIndex | Whether to show index | `Boolean` | `true` | +| showIndicators | Whether to show indicators | `Boolean` | `false` | | onClose | Close callback | `Function` | - | diff --git a/packages/image-preview/index.js b/packages/image-preview/index.js index 063c24c96..f0fb4f038 100644 --- a/packages/image-preview/index.js +++ b/packages/image-preview/index.js @@ -4,6 +4,14 @@ import { isServer } from '../utils'; let instance; +const defaultConfig = { + value: true, + images: [], + showIndex: true, + showIndicators: false, + startPosition: 0 +}; + const initInstance = () => { instance = new (Vue.extend(VueImagePreview))({ el: document.createElement('div') @@ -21,17 +29,18 @@ const ImagePreview = (images, startPosition) => { 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.value = show; if (!show) { instance.$off('input'); - config.onClose && config.onClose(); + options.onClose && options.onClose(); } }); diff --git a/packages/image-preview/zh-CN.md b/packages/image-preview/zh-CN.md index 93c223e0d..dddcf7416 100644 --- a/packages/image-preview/zh-CN.md +++ b/packages/image-preview/zh-CN.md @@ -60,4 +60,5 @@ setTimeout(() => { | images | 需要预览的图片 URL 数组 | `Array` | `[]` | 1.1.16 | | startPosition | 图片预览起始位置索引 | `Number` | `0` | 1.1.16 | | showIndex | 是否显示页码 | `Boolean` | `true` | 1.3.4 | +| showIndicators | 是否显示轮播指示器 | `Boolean` | `false` | 1.3.10 | | onClose | 关闭时的回调函数 | `Function` | - | 1.1.16 | diff --git a/types/image-preview.d.ts b/types/image-preview.d.ts index 703e3de8c..ca70ebad1 100644 --- a/types/image-preview.d.ts +++ b/types/image-preview.d.ts @@ -4,6 +4,7 @@ export type ImagePreviewOptions = string[] | { images: string[]; startPosition?: number; showIndex?: boolean; + showIndicators?: boolean; onClose?: () => any; };