namnguyen 7 mesi fa
parent
commit
f72bb4a98c
1 ha cambiato i file con 6 aggiunte e 6 eliminazioni
  1. 6 6
      frontend/taipy-gui/src/components/Taipy/Menu.tsx

+ 6 - 6
frontend/taipy-gui/src/components/Taipy/Menu.tsx

@@ -38,6 +38,7 @@ const baseTitleProps = { noWrap: true, variant: "h6" } as const;
 const Menu = (props: MenuProps) => {
     const { label, onAction = "", lov, width, inactiveIds = emptyArray, active = true } = props;
     const [selectedValue, setSelectedValue] = useState<string | string[]>("");
+    const [currentSelection, setCurrentSelection] = useState<string>("");
     const [opened, setOpened] = useState(false);
     const dispatch = useDispatch();
     const theme = useTheme();
@@ -49,16 +50,14 @@ const Menu = (props: MenuProps) => {
         (evt: MouseEvent<HTMLElement>) => {
             if (active) {
                 const { id: key = "" } = evt.currentTarget.dataset;
+                setCurrentSelection(key);
                 setSelectedValue(() => {
                     dispatch(createSendActionNameAction("menu", module, onAction, key));
-                    if (props.selected) {
-                        return [...(props.selected ?? []), key];
-                    }
                     return key;
                 });
             }
         },
-        [active, dispatch, module, onAction, props.selected]
+        [active, dispatch, module, onAction]
     );
 
     const openHandler = useCallback((evt: MouseEvent<HTMLElement>) => {
@@ -86,9 +85,10 @@ const Menu = (props: MenuProps) => {
 
     useEffect(() => {
         if (props.selected) {
-            setSelectedValue(props.selected);
+            const updatedSelected = [...props.selected, currentSelection];
+            setSelectedValue(updatedSelected);
         }
-    }, [props.selected]);
+    }, [currentSelection, props.selected]);
 
     return lov && lov.length ? (
         <Drawer