用途:为 Vue 应用从 .as 注解类型生成数据表格,支持搜索、过滤、排序、分页、虚拟滚动、行操作与导出。
安装:npx skills add moostjs/atscript-ui(含本技能及 general、forms、wf、styles)。依赖包包括 @atscript/core、@atscript/typescript、@atscript/ui、@atscript/ui-table、@atscript/vue-table、vue,以及作为必要 peer 的 @atscript/vue-form;可选 @atscript/ui-fns、@atscript/db-client、@atscript/moost-ui-presets。
主要能力:以 @db.table 等注解定义字段与标签;<AsTableRoot> 作为根组件,<AsTable> 分页表格、<AsWindowTable> 窗口/虚拟化表格;内置单元格类型(text、number、boolean、date、dateTime、relative、array、object、union、enum、ref)可通过 :types 替换;<AsFilters>、<AsTableActions>、<AsPresetPicker> 等组件;过滤器支持包含类 OR、排除类 AND 语义;支持 forceFilters/forceSorters;预设分系统/用户/应用三级,支持网络传输快照;行操作用于展示窄化,授权由服务端完成;导出复用表格查询路径,含 CSV 注入防护;支持 :display-columns 客户端列、本地排序与内存行模式。
使用方式:在 .as 文件中定义接口,Vue 中引入 createDefaultCellTypes 并传入 <AsTableRoot>,设置 url(moost-db)或 :query-fn(自定义后端)。程序化状态变更由根 watcher 自动触发;state.query() 保留给用户主动刷新;query({ silent: true }) 用于定时静默刷新;行数据保持到响应返回后再原子替换。
限制:@ui.table.type 仅接受内置渲染器 id,自定义单元格需用 @ui.table.component 与 :components;显示列不发送到服务端;行操作 include 不能暴露被门控的操作;预设 id 前缀 sys:、uc:、ac: 为保留;聚合与计数响应不做身份扩展;忽略排序器的搜索选项仅适用于相关性排序后端。其余细节以项目文档为准。