用途:在编写、修改或调试 Nemo XML 配置文件时提供完整参考,包括组件类型、属性、数据源、表达式、绑定和模板。
主要能力:
- 文档结构:nemo、app、window、theme、variable、script、template 等元素。
- 主题:kanagawa、tokyo-night、nord、catppuccin、gruvbox,模式 dark/light。
- 表达式:${var.name}、${env.KEY}、${upper()}、${lower()}、${trim()}、${length()}、${coalesce()}、${env(KEY)} 及字符串插值。
- 数据源:timer、http、websocket、mqtt、redis、nats、file。interval 单位为秒,仅 interval 生效,旧例中的 refresh 会被静默忽略。
- 数据绑定:<binding source target transform>;transform 仅支持字段提取(无空格的点路径)与含 value 的字符串模板两种形式,不支持 select: 等前缀语法。bind-<prop> 属性可创建单向绑定。
- 事件处理:on-click、on-change、on-load 引用 Rhai 函数;所有处理器签名固定为 (component_id, event_data);on-load 以 component_id="app"、event_data="load" 调用,零参数函数会运行时报错。
- 组件:布局(stack、dock、panel、tabs 及 tab-item)、展示(label、text、icon、image、progress、avatar、badge、tag、spinner、alert、accordion、collapsible、dropdown-button 及 menu-item)、输入(button、input、textarea、code-editor、text-editor、checkbox、select、radio、slider、switch/toggle)、数据(table、tree、list)、图表(line、realtime、bar/column、area、pie、scatter/bubble、heatmap、radar、candlestick、stacked/clustered、pyramid/funnel)、导航(sidenav-bar 及 sidenav-bar-item)、反馈(modal、notification、tooltip)。
使用方式:以 XML 声明结构,用 <data> 定义数据源,用 binding 或 bind-<prop> 连接数据与组件属性,用事件属性引用 Rhai 脚本函数。
限制与注意:
- tabs 的标签页必须是 <tab-item>,用 panel 等可过校验但标签栏为空且组件不可见。
- tab-item、menu-item、option、list-item、accordion-item、sidenav-bar-item、slot 等仅在特定父元素内有效,放错位置不会报错但不渲染。
- table、tree、list 需要祖先有确定高度,否则静默塌缩为 0px。
- interval 单位为秒,误用毫秒值会导致数据长时间不刷新。
资源与收费、平台等信息暂未提供。