Rendering Menu using MenuItemCheckbox
as children and the values
prop from useMenuState
to control the checked items.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364import { Menu, MenuArrow, MenuButton, MenuButtonArrow, MenuItemCheck, MenuItemCheckbox, useMenuState, } from "ariakit/menu"; import "./style.css"; export default function Example() { const menu = useMenuState({ defaultValues: { watching: ["issues"] }, }); return ( <> <MenuButton state={menu} className="button"> {!!menu.values.watching.length ? "Unwatch" : "Watch"} <MenuButtonArrow /> </MenuButton> <Menu state={menu} className="menu"> <MenuArrow className="menu-arrow" /> <MenuItemCheckbox name="watching" value="issues" className="menu-item"> <MenuItemCheck /> Issues </MenuItemCheckbox> <MenuItemCheckbox name="watching" value="pull-requests" className="menu-item" > <MenuItemCheck /> Pull requests </MenuItemCheckbox> <MenuItemCheckbox name="watching" value="releases" className="menu-item" > <MenuItemCheck /> Releases </MenuItemCheckbox> <MenuItemCheckbox name="watching" value="discussions" className="menu-item" > <MenuItemCheck /> Discussions </MenuItemCheckbox> <MenuItemCheckbox name="watching" value="security-alerts" className="menu-item" > <MenuItemCheck /> Security alerts </MenuItemCheckbox> </Menu> </> ); }