Skip to content

Commit 1dcb896

Browse files
novlan1tdesign-bot
andauthored
fix upload preview index error (#4473)
* chore: lint * feat: use ifdef APP * feat(table): 兼容vue2 * fix(upload): 修复预览图片不是当前问题 * chore: stash changelog [ci skip] --------- Co-authored-by: tdesign-bot <tdesign@tencent.com>
1 parent badd9f6 commit 1dcb896

2 files changed

Lines changed: 20 additions & 18 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
pr_number: 4473
3+
contributor: novlan1
4+
---
5+
6+
- fix(Upload): 修复预览图片不是当前问题 @novlan1 ([#4473](https://github.com/Tencent/tdesign-miniprogram/pull/4473))

packages/uniapp-components/upload/upload.vue

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@
4949
:autoplay="false"
5050
objectFit="contain"
5151
:data-file="file"
52-
@click.stop="onFileClick"
52+
@click.stop="(e) => onFileClick(e, {file, index})"
5353
/>
5454
<view
5555
v-if="file.status && file.status != 'done'"
5656
:class="classPrefix + '__progress-mask'"
5757
:data-index="index"
5858
:data-file="file"
59-
@click.stop="onFileClick"
59+
@click.stop="(e) => onFileClick(e, {file, index})"
6060
>
6161
<block v-if="file.status == 'loading'">
6262
<t-icon
@@ -88,7 +88,7 @@
8888
:data-index="index"
8989
aria-role="button"
9090
aria-label="删除"
91-
@click.stop="onDelete"
91+
@click.stop="(e) => onDelete(e, {index})"
9292
>
9393
<t-icon
9494
name="close"
@@ -177,14 +177,14 @@
177177
:autoplay="false"
178178
objectFit="contain"
179179
:data-file="file"
180-
@click.stop="onFileClick"
180+
@click.stop="(e) => onFileClick(e, {file, index})"
181181
/>
182182
<view
183183
v-if="file.status && file.status != 'done'"
184184
:class="classPrefix + '__progress-mask'"
185185
:data-index="index"
186186
:data-file="file"
187-
@click.stop="onFileClick"
187+
@click.stop="(e) => onFileClick(e, {file, index})"
188188
>
189189
<block v-if="file.status == 'loading'">
190190
<t-icon
@@ -217,7 +217,7 @@
217217
:data-url="file.url"
218218
aria-role="button"
219219
aria-label="删除"
220-
@click.stop="onDelete"
220+
@click.stop="(e) => onDelete(e, {index})"
221221
>
222222
<t-icon
223223
name="close"
@@ -428,8 +428,7 @@ export default {
428428
this.$emit('fail', err);
429429
},
430430
431-
onFileClick(e) {
432-
const { file, index } = e.currentTarget.dataset;
431+
onFileClick(e, { file, index }) {
433432
this.$emit('click', { index, file });
434433
},
435434
@@ -477,8 +476,7 @@ export default {
477476
return false;
478477
},
479478
480-
onDelete(e) {
481-
const { index } = e.currentTarget.dataset;
479+
onDelete(e, { index }) {
482480
this.deleteHandle(index);
483481
},
484482
@@ -612,22 +610,21 @@ export default {
612610
return previewMediaSources;
613611
},
614612
615-
onPreview(e) {
616-
this.onFileClick(e);
613+
onPreview(e, { file, index }) {
614+
this.onFileClick(e, { file, index });
617615
const { preview } = this;
618616
619617
if (!preview) return;
620618
621619
const usePreviewMedia = this.customFiles.some(file => file.type === 'video');
622620
if (usePreviewMedia) {
623-
this.onPreviewMedia(e);
621+
this.onPreviewMedia({ index });
624622
} else {
625-
this.onPreviewImage(e);
623+
this.onPreviewImage({ index });
626624
}
627625
},
628626
629-
onPreviewImage(e) {
630-
const { index } = e.currentTarget.dataset;
627+
onPreviewImage({ index }) {
631628
const urls = this.customFiles.filter(file => file.percent !== -1).map(file => file.url);
632629
const current = this.customFiles[index]?.url;
633630
uni.previewImage({
@@ -639,8 +636,7 @@ export default {
639636
});
640637
},
641638
642-
onPreviewMedia(e) {
643-
const { index: current } = e.currentTarget.dataset;
639+
onPreviewMedia({ index: current }) {
644640
const sources = this.getPreviewMediaSources();
645641
uni.previewMedia({
646642
sources,

0 commit comments

Comments
 (0)