Skip to content

feat: add support for ipyvuetify 3#1163

Draft
mariobuikhuizen wants to merge 17 commits into
ipyvuetify3from
ipyvuetify3-py
Draft

feat: add support for ipyvuetify 3#1163
mariobuikhuizen wants to merge 17 commits into
ipyvuetify3from
ipyvuetify3-py

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.
@mariobuikhuizen mariobuikhuizen force-pushed the ipyvuetify3-py branch 3 times, most recently from 1974061 to e5d3d06 Compare June 16, 2026 15:15
@mariobuikhuizen mariobuikhuizen force-pushed the ipyvuetify3 branch 2 times, most recently from 03700ca to c57eab4 Compare June 19, 2026 14:15
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.

1 participant