fix(custom-element): fix that boolean prop with default true can't updated to falsy value
close https://github.com/vuejs/core/issues/12214
Size Report
Bundles
| File | Size | Gzip | Brotli |
|---|---|---|---|
| runtime-dom.global.prod.js | 101 kB (+166 B) | 38 kB (+38 B) | 34.2 kB (+86 B) |
| vue.global.prod.js | 159 kB (+166 B) | 57.9 kB (+43 B) | 51.4 kB (-57 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.9 kB (+166 B) | 22.9 kB (+48 B) | 20.8 kB (-26 B) |
| overall | 68.7 kB | 26.3 kB | 24 kB |
@vue/compiler-core
pnpm add https://pkg.pr.new/@vue/compiler-core@12215
@vue/compiler-sfc
pnpm add https://pkg.pr.new/@vue/compiler-sfc@12215
@vue/compiler-dom
pnpm add https://pkg.pr.new/@vue/compiler-dom@12215
@vue/reactivity
pnpm add https://pkg.pr.new/@vue/reactivity@12215
@vue/runtime-core
pnpm add https://pkg.pr.new/@vue/runtime-core@12215
@vue/compiler-ssr
pnpm add https://pkg.pr.new/@vue/compiler-ssr@12215
@vue/runtime-dom
pnpm add https://pkg.pr.new/@vue/runtime-dom@12215
@vue/server-renderer
pnpm add https://pkg.pr.new/@vue/server-renderer@12215
@vue/shared
pnpm add https://pkg.pr.new/@vue/shared@12215
vue
pnpm add https://pkg.pr.new/vue@12215
@vue/compat
pnpm add https://pkg.pr.new/@vue/compat@12215
commit: 9cd4dda
/ecosystem-ci run
📝 Ran ecosystem CI: Open
| suite | result | latest scheduled |
|---|---|---|
| language-tools | :white_check_mark: success | :white_check_mark: success |
| nuxt | :x: failure | :white_check_mark: success |
| 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 | :white_check_mark: success | :white_check_mark: success |
| vue-macros | :white_check_mark: success | :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 |
/ecosystem-ci run nuxt
📝 Ran ecosystem CI: Open
| suite | result | latest scheduled |
|---|---|---|
| nuxt | :white_check_mark: success | :white_check_mark: success |
Thanks for the PR! However, the fundamental reason of this bug is _setProp reflecting the attribute change causing mutation observer to be triggered again, which should be avoided in the first place.
I have reused the test from this PR in https://github.com/vuejs/core/commit/352bc88c1bd2fda09c61ab17ea1a5967ffcd7bc0.