This commit is contained in:
pwwang 2024-11-12 05:24:18 +00:00 committed by GitHub
commit 6b1fb7ee56
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 2 deletions

View file

@ -55,6 +55,9 @@
/** Obtain a reference to the overflow menu element */
export let menuRef = null;
/** Persist the open state when click the items */
export let persistentClickItems = true;
import {
createEventDispatcher,
getContext,
@ -203,8 +206,11 @@
class:bx--overflow-menu--xl="{size === 'xl'}"
{...$$restProps}
on:click
on:click="{({ target }) => {
if (!(menuRef && menuRef.contains(target))) {
on:click="{(e) => {
if (persistentClickItems) {
e.stopPropagation(); // this propagate to window.click to cause close
}
if (!(menuRef && menuRef.contains(e.target))) {
open = !open;
if (!open) dispatch('close');
}

View file

@ -34,6 +34,12 @@ type $Props = {
*/
flipped?: boolean;
/**
* Set to `true` to keep menu open after clicking the items
* @default false
*/
persistentClickItems?: boolean;
/**
* Specify the menu options class
* @default undefined