File tree 1 file changed +13
-6
lines changed
packages/floating-vue/src/components
1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -912,12 +912,6 @@ export default () => ({
912
912
this . $_preventShow = false
913
913
} , 300 )
914
914
}
915
-
916
- let parent = this . parentPopper
917
- while ( parent ) {
918
- parent . $_handleGlobalClose ( event , touch )
919
- parent = parent . parentPopper
920
- }
921
915
} ,
922
916
923
917
$_detachPopperNode ( ) {
@@ -1042,6 +1036,19 @@ function handleGlobalClose (event, touch = false) {
1042
1036
requestAnimationFrame ( ( ) => {
1043
1037
if ( event . closeAllPopover || ( event . closePopover && contains ) || ( popper . autoHide && ! contains ) ) {
1044
1038
popper . $_handleGlobalClose ( event , touch )
1039
+
1040
+ let parent = popper . parentPopper
1041
+ while ( parent ) {
1042
+ const popperContent = parent . popperNode ( )
1043
+ const contains = parent . $_mouseDownContains || popperContent . contains ( event . target )
1044
+ if ( event . closeAllPopover || ( event . closePopover && contains ) || ( parent . autoHide && ! contains ) ) {
1045
+ parent . $_handleGlobalClose ( event , touch )
1046
+ } else {
1047
+ parent . $_pendingHide = false
1048
+ break
1049
+ }
1050
+ parent = parent . parentPopper
1051
+ }
1045
1052
}
1046
1053
} )
1047
1054
} catch ( e ) {
You can’t perform that action at this time.
0 commit comments