mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
feat(Uploader): add click-preview event (#4206)
This commit is contained in:
parent
0b5cabbe24
commit
1cc6f03e6f
@ -133,6 +133,7 @@ export default {
|
|||||||
| Event | Description | Arguments |
|
| Event | Description | Arguments |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| oversize | Triggered when file size over limit | Same as after-read |
|
| oversize | Triggered when file size over limit | Same as after-read |
|
||||||
|
| click-preview | Triggered when click preview image | Same as after-read |
|
||||||
| delete | Triggered when delete preview file | file |
|
| delete | Triggered when delete preview file | file |
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
@ -141,7 +142,7 @@ export default {
|
|||||||
|------|------|
|
|------|------|
|
||||||
| default | Custom icon |
|
| default | Custom icon |
|
||||||
|
|
||||||
### Parematers of before-read、after-read
|
### Parematers of before-read、after-read、before-delete
|
||||||
|
|
||||||
| Attribute | Description | Type |
|
| Attribute | Description | Type |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
|
@ -149,6 +149,7 @@ export default {
|
|||||||
| 事件名 | 说明 | 回调参数 |
|
| 事件名 | 说明 | 回调参数 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| oversize | 文件大小超过限制时触发 | 同`after-read` |
|
| oversize | 文件大小超过限制时触发 | 同`after-read` |
|
||||||
|
| click-preview | 点击预览图时触发 | 同`after-read` |
|
||||||
| delete | 删除文件预览时触发 | file: 被删除的文件对象 |
|
| delete | 删除文件预览时触发 | file: 被删除的文件对象 |
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
@ -79,8 +79,8 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
afterRead(file) {
|
afterRead(file, detail) {
|
||||||
console.log(file);
|
console.log(file, detail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -193,13 +193,22 @@ export default createComponent({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onClickPreview(file) {
|
||||||
|
this.$emit('click-preview', file, this.detail);
|
||||||
|
},
|
||||||
|
|
||||||
renderPreview() {
|
renderPreview() {
|
||||||
if (!this.previewImage) {
|
if (!this.previewImage) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.fileList.map((item, index) => (
|
return this.fileList.map((item, index) => (
|
||||||
<div class={bem('preview')}>
|
<div
|
||||||
|
class={bem('preview')}
|
||||||
|
onClick={() => {
|
||||||
|
this.onClickPreview(item);
|
||||||
|
}}
|
||||||
|
>
|
||||||
{isImageFile(item) ? (
|
{isImageFile(item) ? (
|
||||||
<Image
|
<Image
|
||||||
fit={this.imageFit}
|
fit={this.imageFit}
|
||||||
|
@ -343,3 +343,16 @@ it('click to preview image', () => {
|
|||||||
const imagePreviewNode2 = document.querySelector('.van-image-preview');
|
const imagePreviewNode2 = document.querySelector('.van-image-preview');
|
||||||
expect(imagePreviewNode2).toMatchSnapshot();
|
expect(imagePreviewNode2).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('click-preview event', () => {
|
||||||
|
const wrapper = mount(Uploader, {
|
||||||
|
propsData: {
|
||||||
|
previewFullImage: false,
|
||||||
|
fileList: [{ url: IMAGE }, { url: PDF }]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wrapper.find('.van-image').trigger('click');
|
||||||
|
expect(wrapper.emitted('click-preview')[0][0]).toEqual({ url: IMAGE });
|
||||||
|
expect(wrapper.emitted('click-preview')[0][1]).toEqual({ name: '' });
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user