Tree 用于展示多层级结构。常见场景包括目录树、权限树、组织结构、可勾选层级列表等。
import win.ui;
var winform = win.form(text="AntdUI Tree";right=720;bottom=460)
winform.add(host={cls="custom";left=20;top=20;right=360;bottom=420;z=1})
import dotNet.AntdUI;
var tree = AntdUI.Tree(winform.host);
tree.Checkable = true;
tree.BlockNode = true;
tree.EmptyText = "暂无节点";
var root = AntdUI.TreeItem("项目");
root.ID = "project";
root.Expand = true;
var docs = AntdUI.TreeItem("文档");
docs.ID = "docs";
docs.Sub.Add( AntdUI.TreeItem("快速上手") );
docs.Sub.Add( AntdUI.TreeItem("组件示例") );
var src = AntdUI.TreeItem("源码");
src.ID = "src";
src.Checked = true;
root.Sub.Add(docs);
root.Sub.Add(src);
tree.Items.Add(root);
tree.SelectChanged = function(sender,e){
var item = tree.SelectItem;
if(item) winform.text = "当前节点:" + item.Text;
}
tree.CheckedChanged = function(sender,e){
// 常用:e.Item / e.Value,具体字段以当前 DLL 事件参数为准
}
winform.show();
win.loopMessage();
Items:根节点集合,添加 AntdUI.TreeItem。Checkable:显示复选框。CheckStrictly:父子节点勾选是否完全独立。BlockNode:节点占满一行,适合导航树。Multiple:支持多选。SelectItem:当前选中节点。VirtualMode:大数据量时只渲染可见行。Empty / EmptyText:空数据提示。Gap / GapIndent / Radius:间距、缩进与圆角。Text:节点文本。ID / Name:业务标识,可配合 FindID() / FindName()。IconSvg:SVG 图标。SubTitle:副标题。Sub:子节点集合。Visible / Enabled:是否显示、启用。Loading:节点加载状态。Expand:展开状态。Checked / CheckState:勾选状态。Checkable:单个节点是否显示复选框。Tag:绑定业务对象。ExpandAll(true) / ExpandAll(false):展开或收起全部。Select(item) / SelectID(id) / SelectName(name):选中节点。USelect():取消选择。GetSelects():获取所有选中节点。GetCheckeds():获取所有勾选节点。SetCheckeds(true):全选或全不选。Search(text):按文本搜索筛选。FindID(id) / FindName(name):查找节点。Focus(item):滚动定位到节点。SelectChanged:选中节点变化。CheckedChanged:勾选状态变化。BeforeExpand / AfterExpand:展开前后。NodeMouseClick / NodeMouseDoubleClick:节点点击、双击。NodeMouseDown / NodeMouseUp / NodeMouseMove:更细粒度鼠标事件。TreeItem.Sub 是 .NET 集合,追加子节点用 .Add(...)。BeforeExpand 中判断 item.Sub.Count 并添加节点,再允许展开。HitTest、ReverseCheckItem、FullPath() 等高级用法。