diff --git a/packages/cell/test/__snapshots__/demo.spec.js.snap b/packages/cell/test/__snapshots__/demo.spec.js.snap index 094dffc5c..3460f3a62 100644 --- a/packages/cell/test/__snapshots__/demo.spec.js.snap +++ b/packages/cell/test/__snapshots__/demo.spec.js.snap @@ -93,11 +93,6 @@ exports[`renders demo correctly 1`] = `
内容
-
- -
单元格
- -
单元格
diff --git a/packages/uploader/index.js b/packages/uploader/index.js index d1dcf0a41..77f5776ae 100644 --- a/packages/uploader/index.js +++ b/packages/uploader/index.js @@ -2,6 +2,7 @@ import { use, suffixPx } from '../utils'; import { toArray, readFile, isOversize } from './utils'; import Icon from '../icon'; import Image from '../image'; +import ImagePreview from '../image-preview'; const [sfc, bem] = use('uploader'); @@ -135,6 +136,13 @@ export default sfc({ } }, + onPreviewImage(startPosition) { + ImagePreview({ + images: this.fileList.map(file => file.content), + startPosition + }); + }, + renderPreview() { if (!this.previewImage) { return; @@ -148,6 +156,9 @@ export default sfc({ class={bem('preview-image')} width={this.previewSize} height={this.previewSize} + onClick={() => { + this.onPreviewImage(index); + }} /> { expect(wrapper).toMatchSnapshot(); expect(wrapper.emitted('delete')[0]).toBeTruthy(); }); + +it('click to preview image', async () => { + const wrapper = mount(Uploader, { + propsData: { + fileList: [], + previewSize: 30 + }, + listeners: { + input(fileList) { + wrapper.setProps({ fileList }); + } + } + }); + + wrapper.vm.onChange(file); + await later(); + + wrapper.find('.van-image').trigger('click'); + + expect(document.querySelector('.van-image-preview')).toBeTruthy(); +});