fix(vue): update output target and properly emit events#30227
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
Verified fix for reproduction case referenced in: #30170 |
|
This does not resolve #30179 |
|
Verified fix for reproduction case referenced in: #30206 |
|
Verified the following issues are broken on
|
ShaneK
left a comment
There was a problem hiding this comment.
I've also tested and verified what Brandy found on 8.4.4-dev.11741193800.14916f6f. Good work! 🚀
|
Can confirm this issue in |
|
Thanks for the fix! |
…onic-team#31159) Issue number: resolves ionic-team#27843 --------- ## What is the current behavior? `createInlineOverlayComponent` renders inline overlays (modal, popover, etc.) inside a `<template>` at their declared JSX position. When the overlay presents, `CoreDelegate` teleports the DOM node into `ion-app`, but React's synthetic event delegation root stays at the original JSX parent. Once the overlay lives outside that subtree, React no longer dispatches events to children inside it, so `onClick`, `onChange`, and other handlers inside an `IonModal` rendered within an `IonNav` silently stop firing ## What is the new behavior? Top-level inline overlays now render through `createPortal` into the same `ion-app` container that `CoreDelegate` teleports into, so React's event root follows the DOM ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information This issue also reports the same problem in Vue, but that was fixed in ionic-team#30227 Preview: [navigation-modal](https://ionic-framework-git-fw-6314-ionic1.vercel.app/react/navigation-modal) Dev build: ``` 8.8.8-dev.11779302602.17decfbf ```
Issue number: resolves #30206 resolves #30178 resolves #30177 resolves #30175 resolves #30170
What is the current behavior?
There have been plenty of issues reported in regards to Vue components failing to propagate events. It seems like when we updated the Vue output target and started to use the provided runtime code from the output target, we have changed the way how event names are computed. Ionic has used a custom wrapper for handling events that would kebab case event names. That is no longer needed and removing it fixes observed issues.
Reproduction case working: https://stackblitz.com/edit/vj18czas-wdhzxjom?file=package.json
What is the new behavior?
We have received a fix for this in stenciljs/output-targets#617 which I hope will resolve this issue by updating the dependency.
Does this introduce a breaking change?
Other information
Dev build:
8.4.4-dev.11741193800.14916f6f