diff --git a/src/calendar/__test__/__snapshots__/demo.test.jsx.snap b/src/calendar/__test__/__snapshots__/demo.test.jsx.snap index fef4edfc9..e79eefe52 100644 --- a/src/calendar/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/calendar/__test__/__snapshots__/demo.test.jsx.snap @@ -3,7 +3,7 @@ exports[`Calendar > Calendar baseVue demo works fine 1`] = `
- +
- +
Calendar customButtonVue demo works fine 1`] = ` >
- +
- +
Calendar customRangeVue demo works fine 1`] = ` >
- +
- +
Calendar customTextVue demo works fine 1`] = ` >
- +
- +
Calendar mobileVue demo works fine 1`] = ` >
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = `
- +
- +
Calendar mobileVue demo works fine 1`] = ` exports[`Calendar > Calendar multipleVue demo works fine 1`] = `
- +
- +
Calendar multipleVue demo works fine 1`] = ` exports[`Calendar > Calendar rangeVue demo works fine 1`] = `
- +
- +
Cascader baseVue demo works fine 1`] = `
- +
- +
`; @@ -267,7 +267,7 @@ exports[`Cascader > Cascader checkStrictlyVue demo works fine 1`] = ` - + - + `; @@ -477,7 +477,7 @@ exports[`Cascader > Cascader keysVue demo works fine 1`] = ` - + - + `; @@ -692,7 +692,7 @@ exports[`Cascader > Cascader lazyVue demo works fine 1`] = ` - + - + `; @@ -908,7 +908,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -1136,7 +1136,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -1339,7 +1339,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -1567,7 +1567,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -1795,7 +1795,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -2027,7 +2027,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -2226,7 +2226,7 @@ exports[`Cascader > Cascader mobileVue demo works fine 1`] = ` - + - + @@ -2439,7 +2439,7 @@ exports[`Cascader > Cascader themeTabVue demo works fine 1`] = ` - + - + `; @@ -2625,7 +2625,7 @@ exports[`Cascader > Cascader withTitleVue demo works fine 1`] = ` - + - + `; @@ -2844,7 +2844,7 @@ exports[`Cascader > Cascader withValueVue demo works fine 1`] = ` - + - + `; diff --git a/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap b/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap index 74143e4db..f0882b3c9 100644 --- a/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap @@ -565,7 +565,7 @@ exports[`ConfigProvider > ConfigProvider mobileVue demo works fine 1`] = `
- +
- +
ConfigProvider mobileVue demo works fine 1`] = `
- + - + @@ -3836,7 +3836,7 @@ exports[`ConfigProvider > ConfigProvider otherEnVue demo works fine 1`] = `
- +
- +
ConfigProvider otherEnVue demo works fine 1`] = `
- + - + diff --git a/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap b/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap index c614778a5..bc12f1767 100644 --- a/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap @@ -32,7 +32,7 @@ exports[`DateTimePicker > DateTimePicker baseVue demo works fine 1`] = ` - + - + `; @@ -604,7 +604,7 @@ exports[`DateTimePicker > DateTimePicker customRangeVue demo works fine 1`] = ` - + - + `; @@ -1071,7 +1071,7 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = ` - + - + `; @@ -2715,7 +2715,7 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = ` - + - +
DateTimePicker mobileVue demo works fine 1`] = `
- + - +
DateTimePicker mobileVue demo works fine 1`] = `
- + - + @@ -4335,7 +4335,7 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = ` - + - + @@ -4805,7 +4805,7 @@ exports[`DateTimePicker > DateTimePicker timeVue demo works fine 1`] = ` - + - + `; @@ -5506,7 +5506,7 @@ exports[`DateTimePicker > DateTimePicker yearMonthVue demo works fine 1`] = ` - + - + `; diff --git a/src/dialog/__test__/__snapshots__/demo.test.jsx.snap b/src/dialog/__test__/__snapshots__/demo.test.jsx.snap index f6bfc4f30..5763811ad 100644 --- a/src/dialog/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/dialog/__test__/__snapshots__/demo.test.jsx.snap @@ -21,7 +21,7 @@ exports[`Dialog > Dialog confirmVue demo works fine 1`] = ` - + - +
@@ -114,7 +114,7 @@ exports[`Dialog > Dialog confirmVue demo works fine 1`] = ` - +
- +
@@ -203,7 +203,7 @@ exports[`Dialog > Dialog confirmVue demo works fine 1`] = ` - +
- + `; @@ -294,7 +294,7 @@ exports[`Dialog > Dialog feedbackVue demo works fine 1`] = ` - + - +
@@ -374,7 +374,7 @@ exports[`Dialog > Dialog feedbackVue demo works fine 1`] = ` - +
- +
@@ -450,7 +450,7 @@ exports[`Dialog > Dialog feedbackVue demo works fine 1`] = ` - +
- + `; @@ -543,7 +543,7 @@ exports[`Dialog > Dialog imageDialogVue demo works fine 1`] = ` - + - +
Dialog imageDialogVue demo works fine 1`] = ` - +
- +
Dialog imageDialogVue demo works fine 1`] = ` - +
- +
Dialog imageDialogVue demo works fine 1`] = ` - +
- +
Dialog imageDialogVue demo works fine 1`] = ` - +
- +
Dialog imageDialogVue demo works fine 1`] = ` - +
- + `; @@ -1356,7 +1356,7 @@ exports[`Dialog > Dialog inputVue demo works fine 1`] = ` - + - +
Dialog inputVue demo works fine 1`] = ` - +
- + `; @@ -1660,7 +1660,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - + - +
@@ -1740,7 +1740,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- +
@@ -1816,7 +1816,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- + @@ -1921,7 +1921,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - + - +
@@ -2014,7 +2014,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- +
@@ -2103,7 +2103,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- + @@ -2208,7 +2208,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - + - +
Dialog mobileVue demo works fine 1`] = ` - +
- + @@ -2495,7 +2495,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - + - +
Dialog mobileVue demo works fine 1`] = ` - +
- +
Dialog mobileVue demo works fine 1`] = ` - +
- +
Dialog mobileVue demo works fine 1`] = ` - +
- +
Dialog mobileVue demo works fine 1`] = ` - +
- +
Dialog mobileVue demo works fine 1`] = ` - +
- + @@ -3325,7 +3325,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - + - +
@@ -3423,7 +3423,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- +
@@ -3521,7 +3521,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- +
@@ -3619,7 +3619,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- +
@@ -3734,7 +3734,7 @@ exports[`Dialog > Dialog mobileVue demo works fine 1`] = ` - +
- + @@ -3894,7 +3894,7 @@ exports[`Dialog > Dialog multiStateVue demo works fine 1`] = ` - + - +
@@ -3992,7 +3992,7 @@ exports[`Dialog > Dialog multiStateVue demo works fine 1`] = ` - +
- +
@@ -4090,7 +4090,7 @@ exports[`Dialog > Dialog multiStateVue demo works fine 1`] = ` - +
- +
@@ -4188,7 +4188,7 @@ exports[`Dialog > Dialog multiStateVue demo works fine 1`] = ` - +
- +
@@ -4303,7 +4303,7 @@ exports[`Dialog > Dialog multiStateVue demo works fine 1`] = ` - +
- + `; diff --git a/src/drawer/__test__/__snapshots__/demo.test.jsx.snap b/src/drawer/__test__/__snapshots__/demo.test.jsx.snap index 21c58b2ae..59f978606 100644 --- a/src/drawer/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/drawer/__test__/__snapshots__/demo.test.jsx.snap @@ -5,7 +5,7 @@ exports[`Drawer > Drawer baseVue demo works fine 1`] = ` data-v-app="" > - + - + - + - + `; @@ -323,7 +323,7 @@ exports[`Popup > Popup mobileVue demo works fine 1`] = ` - + - + @@ -438,7 +438,7 @@ exports[`Popup > Popup withTitleVue demo works fine 1`] = ` - + - + `; diff --git a/src/popup/popup.tsx b/src/popup/popup.tsx index 1dfd0eb3e..04057966a 100644 --- a/src/popup/popup.tsx +++ b/src/popup/popup.tsx @@ -1,4 +1,4 @@ -import { computed, watch, defineComponent, h, ref, nextTick, Teleport, Transition } from 'vue'; +import { computed, watch, defineComponent, h, ref, nextTick, Teleport, Transition, onMounted } from 'vue'; import { CloseIcon } from 'tdesign-icons-vue-next'; import popupProps from './props'; @@ -37,6 +37,7 @@ export default defineComponent({ const wrapperVisible = ref(currentVisible.value); const innerVisible = ref(currentVisible.value); + const mounted = ref(false); // 因为开启 destroyOnClose,会影响 transition 的动画,因此需要前后设置 visible watch(currentVisible, (v) => { @@ -107,6 +108,7 @@ export default defineComponent({ props.onOpen?.(); setVisible(true); } + mounted.value = val; }, ); @@ -143,11 +145,19 @@ export default defineComponent({ ); - const renderPopupContent = ( - + const inner = ( + <> {renderOverlayContent} {renderContent} + + ); + + const renderPopupContent = mounted.value ? ( + + {inner} + ) : ( + inner ); return (!props.destroyOnClose || wrapperVisible.value) && renderPopupContent;