diff --git a/src/image/_example/extra-always.vue b/src/image/_example/extra-always.vue index 7c1019f80..3059fe616 100644 --- a/src/image/_example/extra-always.vue +++ b/src/image/_example/extra-always.vue @@ -2,11 +2,7 @@ 有遮罩 - + 无遮罩 @@ -27,6 +23,7 @@ import { Tag } from 'tdesign-vue'; export default Vue.extend({ data() { return { + src: '', // renderMask 支持插槽 // eslint-disable-next-line renderMask: (h) => ( @@ -74,6 +71,12 @@ export default Vue.extend({ ), }; }, + created() { + const timer = setTimeout(() => { + this.src = 'https://tdesign.gtimg.com/demo/demo-image-1.png'; + clearTimeout(timer); + }, 100); + }, methods: {}, }); diff --git a/src/image/image.tsx b/src/image/image.tsx index e1e3e66bd..fb0293445 100644 --- a/src/image/image.tsx +++ b/src/image/image.tsx @@ -53,7 +53,7 @@ export default defineComponent({ ([src, globalConfig]) => { const { replaceImageSrc } = globalConfig || {}; const tmpUrl = isFunction(replaceImageSrc) ? replaceImageSrc(props) : src; - if (tmpUrl === src) return; + if (tmpUrl === imageStrSrc.value && imageStrSrc.value) return; imageStrSrc.value = tmpUrl; }, { immediate: true }, diff --git a/test/snap/__snapshots__/csr.test.js.snap b/test/snap/__snapshots__/csr.test.js.snap index e8af12bd5..00a0f655b 100644 --- a/test/snap/__snapshots__/csr.test.js.snap +++ b/test/snap/__snapshots__/csr.test.js.snap @@ -57619,7 +57619,7 @@ exports[`csr snapshot test > csr test ./src/image/_example/extra-always.vue 1`]
renders ./src/icon/_example/single.vue correctly 1` exports[`ssr snapshot test > renders ./src/image/_example/avif.vue correctly 1`] = `"
\\"\\"
图片加载中
.avif / .webp
"`; -exports[`ssr snapshot test > renders ./src/image/_example/extra-always.vue correctly 1`] = `"
有遮罩
\\"\\"
图片加载中
高清
无遮罩
\\"\\"
图片加载中
高清
"`; +exports[`ssr snapshot test > renders ./src/image/_example/extra-always.vue correctly 1`] = `"
有遮罩
\\"\\"
图片加载中
高清
无遮罩
\\"\\"
图片加载中
高清
"`; exports[`ssr snapshot test > renders ./src/image/_example/extra-hover.vue correctly 1`] = `"
\\"\\"
图片加载中
预览
"`;