feat: Image add infinite props

pull/22959/head
wangdaodao 2024-09-04 17:15:26 +08:00
parent c345bb453b
commit 00ed0b56a6
8 changed files with 32 additions and 13 deletions

View File

@ -148,6 +148,7 @@ Besides the native features of img, support lazy load, custom placeholder and lo
| preview-src-list | allow big image preview | Array | — | - | | preview-src-list | allow big image preview | Array | — | - |
| z-index | set image preview z-index | Number | — | 2000 | | z-index | set image preview z-index | Number | — | 2000 |
| initial-index | set image preview array index | Number | — | - | | initial-index | set image preview array index | Number | — | - |
| infinite | whether the viewer preview is infinite. | boolean | — | true |
### Events ### Events
| Event Name | Description | Parameters | | Event Name | Description | Parameters |

View File

@ -150,6 +150,7 @@ Además de las características nativas de img, soporte de carga perezosa, marca
| preview-src-list | permitir una vista previa grande de la imagen | Array | — | - | | preview-src-list | permitir una vista previa grande de la imagen | Array | — | - |
| z-index | establecer el z-index de la vista previa de la imagen | Number | — | 2000 | | z-index | establecer el z-index de la vista previa de la imagen | Number | — | 2000 |
| initial-index | set image preview array index | Number | — | - | | initial-index | set image preview array index | Number | — | - |
| infinite | Si la vista previa del espectador es ilimitada. | boolean | — | true |
### Eventos ### Eventos
| Nombre del evento | Descripción | Parámetros | | Nombre del evento | Descripción | Parámetros |

View File

@ -149,6 +149,7 @@ En plus des propriétés natives de img, ce composant supporte le lazy loading,
| preview-src-list | allow big image preview | Array | — | - | | preview-src-list | allow big image preview | Array | — | - |
| z-index | set image preview z-index | Number | — | 2000 | | z-index | set image preview z-index | Number | — | 2000 |
| initial-index | set image preview array index | Number | — | - | | initial-index | set image preview array index | Number | — | - |
| infinite | Voir si l'aperçu du spectateur est illimité. | boolean | — | true |
### Évènements ### Évènements
| Nom | Description | Paramètres | | Nom | Description | Paramètres |

View File

@ -148,6 +148,7 @@
| preview-src-list | 开启图片预览功能 | Array | — | - | | preview-src-list | 开启图片预览功能 | Array | — | - |
| z-index | 设置图片预览的 z-index | Number | — | 2000 | | z-index | 设置图片预览的 z-index | Number | — | 2000 |
| initial-index | 图片预览初始图片index | Number | — | - | | initial-index | 图片预览初始图片index | Number | — | - |
| infinite | 是否可以无限循环预览 | boolean | — | true |
### Events ### Events
| 事件名称 | 说明 | 回调参数 | | 事件名称 | 说明 | 回调参数 |

View File

@ -35,8 +35,8 @@
</div> </div>
<!-- CANVAS --> <!-- CANVAS -->
<div class="el-image-viewer__canvas"> <div class="el-image-viewer__canvas">
<template v-for="(url, i) in urlList">
<img <img
v-for="(url, i) in urlList"
v-if="i === index" v-if="i === index"
ref="img" ref="img"
class="el-image-viewer__img" class="el-image-viewer__img"
@ -45,7 +45,8 @@
:style="imgStyle" :style="imgStyle"
@load="handleImgLoad" @load="handleImgLoad"
@error="handleImgError" @error="handleImgError"
@mousedown="handleMouseDown"> @mousedown="handleMouseDown" />
</template>
</div> </div>
</div> </div>
</transition> </transition>
@ -100,6 +101,10 @@ export default {
maskClosable: { maskClosable: {
type: Boolean, type: Boolean,
default: true default: true
},
infinite: {
type: Boolean,
default: true
} }
}, },
@ -107,7 +112,6 @@ export default {
return { return {
index: this.initialIndex, index: this.initialIndex,
isShow: false, isShow: false,
infinite: true,
loading: false, loading: false,
mode: Mode.CONTAIN, mode: Mode.CONTAIN,
transform: { transform: {

View File

@ -16,7 +16,7 @@
:style="imageStyle" :style="imageStyle"
:class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }"> :class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }">
<template v-if="preview"> <template v-if="preview">
<image-viewer :z-index="zIndex" :initial-index="imageIndex" v-if="showViewer" :on-close="closeViewer" :url-list="previewSrcList"/> <image-viewer :z-index="zIndex" v-bind="$attrs" :initial-index="imageIndex" v-if="showViewer" :on-close="closeViewer" :url-list="previewSrcList"/>
</template> </template>
</div> </div>
</template> </template>

View File

@ -122,6 +122,10 @@
background-color: #606266; background-color: #606266;
border-color: #fff; border-color: #fff;
left: 40px; left: 40px;
@include when(disabled) {
cursor: not-allowed;
opacity: 0.5;
}
} }
@include e(next){ @include e(next){
@ -135,6 +139,10 @@
border-color: #fff; border-color: #fff;
right: 40px; right: 40px;
text-indent: 2px; text-indent: 2px;
@include when(disabled) {
cursor: not-allowed;
opacity: 0.5;
}
} }
@include e(mask) { @include e(mask) {

3
types/image.d.ts vendored
View File

@ -24,6 +24,9 @@ export declare class ElImage extends ElementUIComponent {
/** Whether to use lazy load */ /** Whether to use lazy load */
lazy: boolean lazy: boolean
/** Whether to use infinite */
infinite: boolean
/** Scroll container that to add scroll listener when using lazy load */ /** Scroll container that to add scroll listener when using lazy load */
scrollContainer: string | HTMLElement scrollContainer: string | HTMLElement