ITADN

`onOpenChangeComplete` is not called when opening a `Dropdown.Root`

#2058OpenWarningImHack3r 创建于 2026-05-29
triage
W
WarningImHack3rcommented
### Describe the bug With this snippet: ```svelte <DropdownMenu.Root onOpenChange={() => { /* called on open started/close started */ }} onOpenChangeComplete={() => { /* only called on close ended, not open ended */ }} > ``` The `onOpenChangeComplete` callback is not called when the dropdown menu is (fully) opened, despite its name and what the docs say. On the other hand, `onOpenChange` is correctly called both at opening and closing. ### Reproduction ````svelte <script lang="ts"> import { DropdownMenu } from "bits-ui"; </script> <DropdownMenu.Root onOpenChange={open => console.log("starting, opening?", open)} onOpenChangeComplete={opened => /* no called on open */ console.log("complete, opened?", opened)} > <DropdownMenu.Trigger>Trigger</DropdownMenu.Trigger> <DropdownMenu.Content>Whatever</DropdownMenu.Content> </DropdownMenu.Root> ```` ### Logs Browser console when clicking the button twice: ``` starting, opening? true starting, opening? false complete, opened? false ``` ### System Info ```bash System: OS: macOS 26.4.1 CPU: (10) arm64 Apple M1 Pro Memory: 341.00 MB / 16.00 GB Shell: 5.9 - /bin/zsh Binaries: Node: 25.9.0 - /opt/homebrew/bin/node npm: 11.14.0 - /opt/homebrew/bin/npm pnpm: 10.33.2 - /opt/homebrew/bin/pnpm bun: 1.3.13 - /Users/antoine/.bun/bin/bun Deno: 2.7.14 - /opt/homebrew/bin/deno Browsers: Chrome: 147.0.7727.138 Firefox: 149.0.2 Safari: 26.4 Safari Technology Preview: 26.0 npmPackages: @sveltejs/kit: ^2.59.0 => 2.59.0 runed: ^0.37.1 => 0.37.1 svelte: ^5.55.5 => 5.55.5 ``` ### Severity annoyance
2 条评论