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();
+});