Просмотр исходного кода

remove auto-close prop from `ui.context_menu` (fixes #3539)

Falko Schindler 9 месяцев назад
Родитель
Сommit
7b4a8d3f6a
2 измененных файлов с 11 добавлено и 5 удалено
  1. 0 1
      nicegui/elements/context_menu.py
  2. 11 4
      tests/test_context_menu.py

+ 0 - 1
nicegui/elements/context_menu.py

@@ -13,7 +13,6 @@ class ContextMenu(Element):
         super().__init__('q-menu')
         self._props['context-menu'] = True
         self._props['touch-position'] = True
-        self._props['auto-close'] = True
 
     def open(self) -> None:
         """Open the context menu."""

+ 11 - 4
tests/test_context_menu.py

@@ -5,12 +5,19 @@ from nicegui.testing import Screen
 def test_context_menu(screen: Screen):
     with ui.label('Right-click me'):
         with ui.context_menu():
-            ui.menu_item('Item 1', on_click=lambda: ui.notify('You clicked'))
-            ui.menu_item('Item 2')
+            ui.item('Menu')
+            ui.menu_item('Item 1', auto_close=False)
+            ui.menu_item('Item 2', on_click=lambda: ui.notify('You clicked'))
 
     screen.open('/')
     screen.context_click('Right-click me')
+    screen.should_contain('Menu')
+
     screen.click('Item 1')
-    screen.should_contain('You clicked')
     screen.wait(0.5)
-    screen.should_not_contain('Item 1')
+    screen.should_contain('Menu')
+
+    screen.click('Item 2')
+    screen.wait(0.5)
+    screen.should_not_contain('Menu')
+    screen.should_contain('You clicked')