Skip to content

fix(shadcn_flutter): sync _children when ContextMenu switches between items and itemsBuilder (#1011) - #1018

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1011-context-menu-items-mode-switch
Sep 27, 2026
Merged

ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1011-context-menu-items-mode-switch

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Closes #1011

Summary of Changes

  1. Mode synchronization:
    • In _ContextMenuState.didUpdateWidget (third_party/shadcn_flutter/lib/src/components/menu/context_menu.dart), re-derives _children when switching between eager items and lazy itemsBuilder.
    • When switching from itemsBuilder to items: initializes _children = ValueNotifier(items), preventing widget.itemsBuilder!(context) null-check crashes.
    • When switching from items to itemsBuilder: disposes and nulls out _children, ensuring _resolveChildren calls the lazy builder fresh rather than returning stale eager items.
  2. Tests:
    • Added widget tests in test/features/workspace/context_menu_mode_switch_test.dart verifying both transition directions and item updates in eager mode.

@github-actions github-actions Bot added bug Something isn't working ui User interface components and widgets labels Sep 27, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit a452bad into dev Sep 27, 2026
3 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/1011-context-menu-items-mode-switch branch September 28, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant