File tree Expand file tree Collapse file tree 2 files changed +29
-5
lines changed
docs/.vitepress/components
packages/floating-vue/src/components Expand file tree Collapse file tree 2 files changed +29
-5
lines changed Original file line number Diff line number Diff line change 4747 Click me
4848 </button >
4949
50- <template #popper >
50+ <template #popper = " { hide } " >
5151 <div class =" px-4 py-1" >
5252 Sub menus:
5353 </div >
6262 Sub menu >
6363 </button >
6464
65- <template #popper >
65+ <template #popper = " { hide: hideLevel2 } " >
6666 <VDropdown
6767 v-for =" m in 5"
6868 :key =" m"
7373 Option {{ m }} >
7474 </button >
7575
76- <template #popper >
77- <div class =" px-6 py-2" >
76+ <template #popper = " { hide: hideLevel3 } " >
77+ <div class =" px-6 py-2 text-center " >
7878 Hello
79+ <button
80+ class =" rounded hover:bg-red-100 px-4 py-2 w-full mt-2"
81+ @click =" hideLevel3"
82+ >
83+ Hide
84+ </button >
7985 </div >
8086 </template >
8187 </VDropdown >
88+ <button
89+ class =" rounded hover:bg-red-100 px-4 py-2 w-full text-left"
90+ @click =" hideLevel2"
91+ >
92+ Hide
93+ </button >
8294 </template >
8395 </VDropdown >
96+
97+ <button
98+ class =" rounded hover:bg-red-100 px-4 py-2 w-full text-left"
99+ @click =" hide"
100+ >
101+ Hide
102+ </button >
84103 </template >
85104 </VDropdown >
86105 </div >
Original file line number Diff line number Diff line change @@ -1090,7 +1090,12 @@ function handleGlobalClose (event: PopperEvent, touch: boolean) {
10901090 for ( let i = shownPoppers . length - 1 ; i >= 0 ; i -- ) {
10911091 const popper = shownPoppers [ i ]
10921092 try {
1093- const contains = popper . containsGlobalTarget = popper . mouseDownContains || popper . popperNode ( ) . contains ( event . target )
1093+ const childrenContains = Array . from ( popper . shownChildren ) . some ( id => {
1094+ const child = shownPoppers . find ( p => p . randomId === id )
1095+ return child && child . popperNode ( ) . contains ( event . target )
1096+ } )
1097+
1098+ const contains = popper . containsGlobalTarget = popper . mouseDownContains || popper . popperNode ( ) . contains ( event . target ) || childrenContains
10941099 popper . pendingHide = false
10951100
10961101 // Delay so that close directive has time to set values (closeAllPopover, closePopover)
You can’t perform that action at this time.
0 commit comments