Image: Perfect picture preview behavior (#16985) (#17375)

* Perfect picture preview function

* update test
pull/17926/head
luckyCao 2019-10-31 15:14:04 +08:00 committed by Zhi Cun
parent 6f62feed3d
commit cf27c7664d
3 changed files with 15 additions and 4 deletions

View File

@ -87,12 +87,16 @@ export default {
onClose: {
type: Function,
default: () => {}
},
initialIndex: {
type: Number,
default: 0
}
},
data() {
return {
index: 0,
index: this.initialIndex,
isShow: false,
infinite: true,
loading: false,

View File

@ -15,7 +15,9 @@
:src="src"
:style="imageStyle"
:class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }">
<image-viewer :z-index="zIndex" v-if="preview && showViewer" :on-close="closeViewer" :url-list="previewSrcList"/>
<template v-if="preview">
<image-viewer :z-index="zIndex" :initial-index="imageIndex" v-show="showViewer" :on-close="closeViewer" :url-list="previewSrcList"/>
</template>
</div>
</template>
@ -88,6 +90,9 @@
preview() {
const { previewSrcList } = this;
return Array.isArray(previewSrcList) && previewSrcList.length > 0;
},
imageIndex() {
return this.previewSrcList.indexOf(this.src);
}
},

View File

@ -127,10 +127,12 @@ describe('Image', () => {
await wait();
vm.$el.querySelector('.el-image__inner').click();
await wait();
expect(vm.$el.querySelector('.el-image-viewer__wrapper')).to.exist;
const $wrapper = vm.$el.querySelector('.el-image-viewer__wrapper');
expect($wrapper).to.exist;
vm.$el.querySelector('.el-image-viewer__close').click();
await wait(1000);
expect(vm.$el.querySelector('.el-image-viewer__wrapper')).to.not.exist;
expect($wrapper.style.display).to.equal('none');
});
});