core
core copied to clipboard
fix(Transition): handle leave immediately done in out-in mode
Playground Playground with this PR
This is an edge case. It occurs because done is executed immediately in onLeave, causing afterLeave to execute immediately, while emptyPlaceholder hasn't yet been mounted.
While reviewing #4941, I found that #4933 could no longer be reproduced, so I closed them. However, the second issue described in #11061 was previously marked as a duplicate of #4941. #4933 does indeed fix it, but the test cases are not the same. Therefore, I created this new PR.
Size Report
Bundles
| File | Size | Gzip | Brotli |
|---|---|---|---|
| runtime-dom.global.prod.js | 100 kB (+2 B) | 38 kB (+2 B) | 34.2 kB (+18 B) |
| vue.global.prod.js | 159 kB (+2 B) | 57.9 kB (+2 B) | 51.5 kB (+15 B) |
Usages
| Name | Size | Gzip | Brotli |
|---|---|---|---|
| createApp (CAPI only) | 46.9 kB | 18.3 kB | 16.7 kB |
| createApp | 55 kB | 21.3 kB | 19.4 kB |
| createSSRApp | 59 kB | 23 kB | 20.9 kB |
| defineCustomElement | 59.8 kB | 22.8 kB | 20.8 kB |
| overall | 68.7 kB (+2 B) | 26.3 kB (+1 B) | 24 kB (+4 B) |
@vue/compiler-sfc
pnpm add https://pkg.pr.new/@vue/compiler-sfc@11824
@vue/compiler-dom
pnpm add https://pkg.pr.new/@vue/compiler-dom@11824
@vue/compiler-ssr
pnpm add https://pkg.pr.new/@vue/compiler-ssr@11824
@vue/reactivity
pnpm add https://pkg.pr.new/@vue/reactivity@11824
@vue/runtime-dom
pnpm add https://pkg.pr.new/@vue/runtime-dom@11824
@vue/runtime-core
pnpm add https://pkg.pr.new/@vue/runtime-core@11824
@vue/server-renderer
pnpm add https://pkg.pr.new/@vue/server-renderer@11824
@vue/shared
pnpm add https://pkg.pr.new/@vue/shared@11824
@vue/compat
pnpm add https://pkg.pr.new/@vue/compat@11824
vue
pnpm add https://pkg.pr.new/vue@11824
@vue/compiler-core
pnpm add https://pkg.pr.new/@vue/compiler-core@11824
commit: 43d5e4d
/ecosystem-ci run
📝 Ran ecosystem CI: Open
| suite | result | latest scheduled |
|---|---|---|
| language-tools | :x: failure | :x: failure |
| nuxt | :white_check_mark: success | :x: failure |
| pinia | :white_check_mark: success | :white_check_mark: success |
| primevue | :white_check_mark: success | :white_check_mark: success |
| quasar | :white_check_mark: success | :white_check_mark: success |
| radix-vue | :white_check_mark: success | :white_check_mark: success |
| router | :white_check_mark: success | :white_check_mark: success |
| test-utils | :white_check_mark: success | :white_check_mark: success |
| vant | :white_check_mark: success | :white_check_mark: success |
| vite-plugin-vue | :white_check_mark: success | :white_check_mark: success |
| vitepress | :white_check_mark: success | :white_check_mark: success |
| vue-i18n | :x: failure | :white_check_mark: success |
| vue-macros | :x: failure | :white_check_mark: success |
| vuetify | :white_check_mark: success | :white_check_mark: success |
| vueuse | :white_check_mark: success | :white_check_mark: success |
| vue-simple-compiler | :white_check_mark: success | :white_check_mark: success |