Skip to content

Commit 6fb4787

Browse files
committed
fix: image preview error #6333
1 parent 3d2d5fd commit 6fb4787

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

components/vc-image/src/Image.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ const ImageInternal = defineComponent({
8181
? mergeDefaultValue(props.preview, defaultValues)
8282
: defaultValues;
8383
});
84+
const src = computed(() => preview.value.src ?? props.src);
8485
const isCustomPlaceholder = computed(
8586
() => (props.placeholder && props.placeholder !== true) || slots.placeholder,
8687
);
@@ -171,14 +172,14 @@ const ImageInternal = defineComponent({
171172
let unRegister = () => {};
172173
onMounted(() => {
173174
watch(
174-
[() => props.src, canPreview],
175+
[src, canPreview],
175176
() => {
176177
unRegister();
177178
if (!isPreviewGroup.value) {
178179
return () => {};
179180
}
180181

181-
unRegister = registerImage(currentId.value, props.src, canPreview.value);
182+
unRegister = registerImage(currentId.value, src.value, canPreview.value);
182183

183184
if (!canPreview.value) {
184185
unRegister();
@@ -216,12 +217,12 @@ const ImageInternal = defineComponent({
216217
class: cls,
217218
style,
218219
} = attrs as ImgHTMLAttributes;
219-
const { icons, maskClassName, src: previewSrc, ...dialogProps } = preview.value;
220+
const { icons, maskClassName, ...dialogProps } = preview.value;
220221

221222
const wrappperClass = cn(prefixCls, wrapperClassName, rootClassName, {
222223
[`${prefixCls}-error`]: isError.value,
223224
});
224-
const mergedSrc = isError.value && fallback ? fallback : previewSrc ?? imgSrc;
225+
const mergedSrc = isError.value && fallback ? fallback : src.value;
225226
const imgCommonProps = {
226227
crossorigin,
227228
decoding,

0 commit comments

Comments
 (0)