diff --git a/packages/components/image/src/index.vue b/packages/components/image/src/index.vue index 5d0671ac14..46a17711e4 100644 --- a/packages/components/image/src/index.vue +++ b/packages/components/image/src/index.vue @@ -301,12 +301,17 @@ export default defineComponent({ emit('switch', val) } - watch( - () => props.src, - () => { + watch(() => props.src, () => { + if (props.lazy) { + // reset status + loading.value = true + hasLoadError.value = false + removeLazyLoadListener() + nextTick(addLazyLoadListener) + } else { loadImage() } - ) + }) onMounted(() => { if (props.lazy) {