From 2dd121792ab7f474a575c51d576d4cb001f9626a Mon Sep 17 00:00:00 2001 From: luckyCao Date: Thu, 25 Jul 2019 12:19:25 +0800 Subject: [PATCH] Image: Add big Image preview feature (#16333) (#16605) --- examples/docs/en-US/image.md | 30 +++ examples/docs/es/image.md | 30 +++ examples/docs/fr-FR/image.md | 30 +++ examples/docs/zh-CN/image.md | 30 +++ packages/image/src/image-viewer.vue | 296 ++++++++++++++++++++++++++++ packages/image/src/main.vue | 32 ++- packages/theme-chalk/src/image.scss | 135 +++++++++++++ src/utils/util.js | 19 ++ test/unit/specs/image.spec.js | 21 ++ types/image.d.ts | 4 + 10 files changed, 624 insertions(+), 3 deletions(-) create mode 100644 packages/image/src/image-viewer.vue diff --git a/examples/docs/en-US/image.md b/examples/docs/en-US/image.md index 3c8c5bd076..92dc90a820 100644 --- a/examples/docs/en-US/image.md +++ b/examples/docs/en-US/image.md @@ -108,6 +108,34 @@ Besides the native features of img, support lazy load, custom placeholder and lo ``` ::: +### Image Preview + +:::demo allow big image preview by setting `previewSrcList` prop. +```html +
+ + +
+ + +``` +::: + ### Attributes | Attribute | Description | Type | Accepted values | Default | |---------- |-------- |---------- |------------- |-------- | @@ -117,6 +145,8 @@ Besides the native features of img, support lazy load, custom placeholder and lo | referrer-policy | Native referrerPolicy | string | - | - | | lazy | Whether to use lazy load | boolean | — | false | | scroll-container | The container to add scroll listener when using lazy load | string / HTMLElement | — | The nearest parent container whose overflow property is auto or scroll | +| preview-src-list | allow big image preview | Array | — | - | +| z-index | set image preview z-index | Number | — | 2000 | ### Events | Event Name | Description | Parameters | diff --git a/examples/docs/es/image.md b/examples/docs/es/image.md index 85dbe6c4be..72912ec255 100644 --- a/examples/docs/es/image.md +++ b/examples/docs/es/image.md @@ -110,6 +110,34 @@ Además de las características nativas de img, soporte de carga perezosa, marca ``` ::: +### Image Preview + +:::demo allow big image preview by setting `previewSrcList` prop. +```html +
+ + +
+ + +``` +::: + ### Atributos | Atributo | Descripción | Tipo | Valores aceptados | Por defecto | |---------- |-------- |---------- |------------- |-------- | @@ -119,6 +147,8 @@ Además de las características nativas de img, soporte de carga perezosa, marca | referrer-policy | referrerPolicy nativo | string | - | - | | lazy | si se usara lazy load | boolean | — | false | | scroll-container | El contenedor para añadir el scroll listener cuando se utiliza lazy load | string / HTMLElement | — | El contenedor padre más cercano cuya propiedad de desbordamiento es auto o scroll | +| preview-src-list | allow big image preview | Array | — | - | +| z-index | set image preview z-index | Number | — | 2000 | ### Eventos | Nombre del evento | Descripción | Parámetros | diff --git a/examples/docs/fr-FR/image.md b/examples/docs/fr-FR/image.md index 1167c88a66..569f91a175 100644 --- a/examples/docs/fr-FR/image.md +++ b/examples/docs/fr-FR/image.md @@ -109,6 +109,34 @@ En plus des propriétés natives de img, ce composant supporte le lazy loading, ``` ::: +### Image Preview + +:::demo allow big image preview by setting `previewSrcList` prop. +```html +
+ + +
+ + +``` +::: + ### Attributs | Attribut | Description | Type | Valeurs acceptées | Défaut | |---------- |-------- |---------- |------------- |-------- | @@ -118,6 +146,8 @@ En plus des propriétés natives de img, ce composant supporte le lazy loading, | referrer-policy | Attribut referrerPolicy natif.| string | - | - | | lazy | Si le lazy loading doit être utilisé. | boolean | — | false | | scroll-container | Le conteneur auquel ajouter le listener du scroll en mode lazy loading. | string / HTMLElement | — | Le conteneur parent le plus proche avec la propriété overflow à auto ou scroll. | +| preview-src-list | allow big image preview | Array | — | - | +| z-index | set image preview z-index | Number | — | 2000 | ### Évènements | Nom | Description | Paramètres | diff --git a/examples/docs/zh-CN/image.md b/examples/docs/zh-CN/image.md index 6a3f35b2a3..7698798b61 100644 --- a/examples/docs/zh-CN/image.md +++ b/examples/docs/zh-CN/image.md @@ -108,6 +108,34 @@ ``` ::: +### 大图预览 + +:::demo 可通过 `previewSrcList` 开启预览大图的功能。 +```html +
+ + +
+ + +``` +::: + ### Attributes | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------- |---------- |------------- |-------- | @@ -117,6 +145,8 @@ | referrer-policy | 原生 referrerPolicy | string | - | - | | lazy | 是否开启懒加载 | boolean | — | false | | scroll-container | 开启懒加载后,监听 scroll 事件的容器 | string / HTMLElement | — | 最近一个 overflow 值为 auto 或 scroll 的父元素 | +| preview-src-list | 开启图片预览功能 | Array | — | - | +| z-index | 设置图片预览的 z-index | Number | — | 2000 | ### Events | 事件名称 | 说明 | 回调参数 | diff --git a/packages/image/src/image-viewer.vue b/packages/image/src/image-viewer.vue new file mode 100644 index 0000000000..bc24e161c2 --- /dev/null +++ b/packages/image/src/image-viewer.vue @@ -0,0 +1,296 @@ + + + diff --git a/packages/image/src/main.vue b/packages/image/src/main.vue index 775c20852e..470cfeb977 100644 --- a/packages/image/src/main.vue +++ b/packages/image/src/main.vue @@ -11,13 +11,16 @@ class="el-image__inner" v-bind="$attrs" v-on="$listeners" + @click="clickHandler" :src="src" :style="imageStyle" - :class="{ 'el-image__inner--center': alignCenter }"> + :class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }"> +