diff --git a/src/components/ToolbarMenuButton.test.ts b/src/components/ToolbarMenuButton.test.ts index 727bdd9..73407f0 100644 --- a/src/components/ToolbarMenuButton.test.ts +++ b/src/components/ToolbarMenuButton.test.ts @@ -69,4 +69,21 @@ describe('ToolbarMenuButton', () => { expect(wrapper.find('[data-testid="item-a"]').exists()).toBe(false) wrapper.unmount() }) + + it('closes an open menu when another menu button is clicked', async () => { + const first = mountMenu({ label: '生成 ▾', toggleTestid: 'generate-menu-toggle' }) + const second = mountMenu({ label: '导出 ▾', toggleTestid: 'export-menu-toggle' }) + + await first.get('button[data-testid="generate-menu-toggle"]').trigger('click') + expect(first.find('[data-testid="item-a"]').exists()).toBe(true) + + await second.get('button[data-testid="export-menu-toggle"]').trigger('click') + await first.vm.$nextTick() + + expect(second.find('[data-testid="item-a"]').exists()).toBe(true) + expect(first.find('[data-testid="item-a"]').exists()).toBe(false) + + first.unmount() + second.unmount() + }) }) diff --git a/src/components/ToolbarMenuButton.vue b/src/components/ToolbarMenuButton.vue index 3a300bb..2b20344 100644 --- a/src/components/ToolbarMenuButton.vue +++ b/src/components/ToolbarMenuButton.vue @@ -47,7 +47,7 @@ onUnmounted(() => { :data-testid="toggleTestid" :disabled="disabled" :aria-expanded="open" - @click.stop="toggle" + @click="toggle" > {{ label }}