Skip to content

export VuetifyPlugin#1149

Draft
mariobuikhuizen wants to merge 11 commits into
masterfrom
ipyvuetify3
Draft

export VuetifyPlugin#1149
mariobuikhuizen wants to merge 11 commits into
masterfrom
ipyvuetify3

Conversation

@mariobuikhuizen

Copy link
Copy Markdown
Contributor

All Submissions:

Changes to / New Features:

  • I included docs for (the changes to) my feature.
  • I wrote tests for (the changes to) my feature.

Description of changes

Avoid caching and reusing the vnode returned by widgetView.vueRender()
when rendering Vue 3 widgets in the Solara popout wrapper.

Vue 3 expects render functions to return fresh vnode instances. Reusing
the same vnode can leave event listeners and child component state stale,
which broke interactions such as table checkbox updates in popped-out
ipyvuetify templates.

Cache the returned component type instead, and create a fresh vnode from
that stable type on each render. This preserves component identity without
remounting the full widget tree on every update.
Use vueComponent() for Vue 3 Vuetify widget views instead of calling
vueRender() and reusing the returned VNode. Rendering a stable component
keeps the widget view inside Vue's normal component lifecycle and avoids the
event instability seen in Solara popouts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants