Menu 用于左侧导航、顶部导航或分组功能列表。最常见的数据结构是 MenuItem + Sub 子集合。
import win.ui;
var winform = win.form(text="AntdUI Menu";right=760;bottom=460)
winform.add(host={cls="custom";left=20;top=20;right=220;bottom=420;z=1})
import dotNet.AntdUI;
var menu = AntdUI.Menu(winform.host);
menu.Mode = AntdUI.TMenuMode.Inline;
menu.Unique = true;
var home = AntdUI.MenuItem("首页");
home.ID = "home";
var sys = AntdUI.MenuItem("系统管理");
sys.ID = "system";
sys.Sub.Add( AntdUI.MenuItem("用户管理") );
sys.Sub.Add( AntdUI.MenuItem("角色管理") );
menu.Items.Add(home);
menu.Items.Add(sys);
menu.SelectChanged = function(sender,e){
// e 通常携带 item;也可直接读取 menu.SelectItem
var item = menu.SelectItem;
if(item) winform.text = "当前菜单:" + item.Text;
}
winform.show();
win.loopMessage();
Items:菜单项集合,添加 AntdUI.MenuItem。Mode:菜单模式,常见 AntdUI.TMenuMode.Inline、水平/垂直等模式以当前 DLL 枚举为准。Trigger:子菜单触发方式,AntdUI.Trigger.Hover 或 Click。Collapsed / AutoCollapse:折叠菜单。Unique:只保持一个子菜单展开。Indent / InlineIndent:树形缩进与缩进宽度。Radius / Round:圆角。BackHover / BackActive / ForeActive:交互颜色。Text:显示文本。ID / Name:查找和业务标识;可配合 FindID() / FindName()。IconSvg / IconActiveSvg:SVG 图标。Sub:子菜单集合。Enabled / Visible:是否启用、可见。Expand:展开状态。Select:是否选中。Tag:绑定业务对象。Select(item):选中指定项。SelectIndex(...):按层级索引选中。FindID(id) / FindName(name):查找项。USelect():取消选择。SelectChanged:选中项变化。ItemClick:点击菜单项。SelectChanging:选中前事件,返回 false 可阻止。MenuItem.Sub 是 .NET 集合,追加项用 .Add(...),不要用 aardio 的 table.push。