Skip to content

Commit d6a151c

Browse files
luckyCaolzq4047
authored andcommitted
Image: Perfect picture preview behavior (ElemeFE#16985) (ElemeFE#17375)
* Perfect picture preview function * update test
1 parent fd5f414 commit d6a151c

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

packages/image/src/image-viewer.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,16 @@ export default {
8787
onClose: {
8888
type: Function,
8989
default: () => {}
90+
},
91+
initialIndex: {
92+
type: Number,
93+
default: 0
9094
}
9195
},
9296
9397
data() {
9498
return {
95-
index: 0,
99+
index: this.initialIndex,
96100
isShow: false,
97101
infinite: true,
98102
loading: false,

packages/image/src/main.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
:src="src"
1616
:style="imageStyle"
1717
:class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }">
18-
<image-viewer :z-index="zIndex" v-if="preview && showViewer" :on-close="closeViewer" :url-list="previewSrcList"/>
18+
<template v-if="preview">
19+
<image-viewer :z-index="zIndex" :initial-index="imageIndex" v-show="showViewer" :on-close="closeViewer" :url-list="previewSrcList"/>
20+
</template>
1921
</div>
2022
</template>
2123

@@ -88,6 +90,9 @@
8890
preview() {
8991
const { previewSrcList } = this;
9092
return Array.isArray(previewSrcList) && previewSrcList.length > 0;
93+
},
94+
imageIndex() {
95+
return this.previewSrcList.indexOf(this.src);
9196
}
9297
},
9398

test/unit/specs/image.spec.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,12 @@ describe('Image', () => {
127127
await wait();
128128
vm.$el.querySelector('.el-image__inner').click();
129129
await wait();
130-
expect(vm.$el.querySelector('.el-image-viewer__wrapper')).to.exist;
130+
131+
const $wrapper = vm.$el.querySelector('.el-image-viewer__wrapper');
132+
expect($wrapper).to.exist;
131133
vm.$el.querySelector('.el-image-viewer__close').click();
132134
await wait(1000);
133-
expect(vm.$el.querySelector('.el-image-viewer__wrapper')).to.not.exist;
135+
expect($wrapper.style.display).to.equal('none');
134136
});
135137
});
136138

0 commit comments

Comments
 (0)