表单与详情录入展示:一步到位实战教程
本章聚焦于工单系统的数据操作体验优化。上一章已经实现了数据可见,但可用性远不止于此——表单填写要流畅,数据检索要精准,变更追溯要可靠。以下内容将逐一解决:精细化新建表单的交互细节,利用联动规则实现字段智能响应,补全详情与编辑功能,最后为数据变更引入监控机制——完整覆盖数据生命周期。
4.1 完善新建工单表单
上一章我们快速搭建了一个基础的新建表单,现在需要对字段排序、默认值设定和布局进行精细化调整。即便跳过了那个快速搭建步骤,也完全可以从头开始。
添加“新建”操作按钮
- 确保当前处于 UI 编辑器模式(右上角开关已点亮)。
- 进入「工单列表」页面,定位到表格区块上方的 「操作(Actions)」 区域。
- 勾选 「添加」 操作按钮。
- 表格顶部随即出现「添加」按钮,点击后弹出新建表单的弹窗。
配置弹窗中的表单
- 点击「添加」按钮打开弹窗。
- 在弹窗内点击 「创建区块(Add block)」→ 数据区块 → 表单(添加)。
选择 「当前数据表(Current collection)」。注意:弹窗已自动关联数据表上下文,无需手动指定数据源。
- 在表单中进入 「字段(Fields)」 配置,勾选以下字段:
| 字段 | 配置要点 |
|---|---|
| 标题 | 必填(继承全局设置) |
| 描述 | 大文本输入 |
| 状态 | 下拉选择(后续通过联动规则设默认值) |
| 优先级 | 下拉选择 |
| 分类 | 关联字段,自动渲染为下拉选择器 |
| 提交人 | 关联字段(后续通过联动规则设默认值) |
| 处理人 | 关联字段 |
「标题」字段右侧自动出现了红色星号 *——这是因为我们在第 2 章创建字段时已将其设为必填。表单会自动继承数据表层的必填规则,无需额外配置。
实用技巧:若某个字段在数据表层面未设为必填,但当前表单场景需要强制填写,可在该字段的配置项中单独启用必填。
添加提交按钮
- 在表单区块下方,点击 「操作(Actions)」。
- 勾选 「提交」 按钮。
用户填写完成并点击提交后,新工单即创建成功。
4.2 联动规则:默认值与字段联动
部分字段希望能自动填充——例如状态默认为“待处理”,提交人自动取当前登录用户。还有些字段需要根据用户选择动态变化——比如当优先级选为“紧急”时,描述字段变为必填。当前 2.0 版本的默认值功能形态仍在演进,因此本教程统一使用 联动规则 实现默认值设定与字段联动。
- 点击表单区块右上角的 区块设置(三横线图标)。
- 找到 「联动规则(Linkage rules)」,点击后在侧边栏打开配置面板。
设置默认值
先为「状态」和「提交人」设置默认值:
- 点击 「添加联动规则」。
- 不设置条件(留空)——这类无条件的联动规则会在表单加载时立即执行。
配置动作(Actions):
- 状态字段 → 设置默认值 → 待处理
- 提交人字段 → 设置默认值 → 当前用户
字段值选取注意:设置默认值时,务必先将数据来源选为 「当前表单」。对于关联对象字段(如分类、提交人、处理人等多对一字段),必须选择对象属性本身,而非其内部子字段。
选择变量(如「当前用户」)时,需先单击选中变量,再双击将其填入选择栏。
如果不希望用户修改某些字段的默认值(例如状态),可以在字段配置项中将 「显示模式(Display mode)」 设为 「只读(Readonly)」。
三种显示模式区别如下:可编辑(Editable,允许修改)、只读(Readonly,禁止编辑但保留字段外观)、阅读模式(Easy-reading,仅显示纯文本内容)。
紧急工单必填描述
接下来添加一条带条件的联动规则:当用户选择优先级为「紧急」时,描述字段自动变为必填,确保提交人详细描述紧急情况。
- 点击 「添加联动规则」。
配置规则:
- 条件(Condition):当前表单 / 优先级 等于 紧急
- 动作(Actions):描述字段 → 设为 必填
- 保存规则。
验证效果:选择优先级为「紧急」时,描述字段右侧立刻出现红色星号 *,表示必填;选择其他优先级则恢复为非必填。
最后,根据所学知识,简单调整表单布局。
联动规则的更多应用:除设置默认值和控制必填外,还可控制字段的显示/隐藏、动态赋值等。例如,当状态为「已关闭」时,隐藏“处理人”字段。后续章节遇到类似场景会进一步展开。
4.3 详情区块
上一章我们为表格行添加了「查看」按钮,点击后打开抽屉。现在配置这个抽屉内的展示内容。
- 在表格中点击某行的 「查看」 按钮,打开抽屉。
- 在抽屉中点击 「创建区块(Add block)」→ 数据区块 → 详情。
- 选择 「当前数据表(Current collection)」。
- 在详情区块的 「字段(Fields)」 中,按如下布局配置:
| 区域 | 字段 |
|---|---|
| 顶部 | 标题、状态(以标签样式展示) |
| 主体 | 描述(大文本区域) |
| 侧边信息 | 分类名称、优先级、提交人、处理人、创建时间 |
如何放置一个醒目的标题?
选择 字段 → markdown → 编辑 markdown → 在编辑区域中选择变量 → 当前记录 → 标题。这样记录的标题会动态插入到 markdown 区块中。然后删除默认文本,使用 markdown 语法将其设为二级标题(前面加 ## 和空格)。
页面自带的标题字段可以移除,再调整详情表单的布局。
实用技巧:多个字段可通过拖拽排列在同一行,使布局更紧凑美观。
- 在详情区块的 「操作(Actions)」 中,勾选 「编辑」 按钮,方便用户从详情直接进入编辑模式。
配置编辑表单
点击「编辑」按钮后会打开一个新弹窗——里面需要放置一个编辑表单。编辑表单的字段与新建表单几乎一致,难道需要从头逐项勾选?
不必。我们可以先将新建表单保存为模板,编辑表单直接引用该模板。
第一步:回到新建表单,保存为模板
- 关闭当前弹窗,回到工单列表,点击「添加」按钮打开新建表单。
- 点击表单区块右上角的 区块设置(三横线图标),找到 「保存为模板(Sa ve as template)」。
- 点击保存。这里有选项,默认选 「引用(Reference)」——所有引用该模板的表单共享同一套配置,修改一处即可同步更新。
工单表单结构简单,选“引用”统一维护更高效。若选“复制”,每个表单会获得独立副本,各自修改互不影响。
第二步:在编辑弹窗中引用模板
- 回到详情抽屉或表格操作列,点击「编辑」按钮打开编辑弹窗。
这里有一个常见误区:你可能直觉认为通过 “创建区块 → 其他区块 → 区块模板” 即可——但尝试后会发现,这样创建出来的实际上是一个添加表单,且字段并未自动填充。
正确操作如下:
- 在弹窗中点击 「创建区块(Add block)」→ 数据区块 → 表单(编辑),先正常创建一个编辑表单区块。
- 在编辑表单中点击 「字段(Fields)」→「字段模板(Field templates)」,选择刚才保存的模板。
- 字段会一键全部填充,与新建表单完全一致。
- 别忘了添加操作按钮「提交」,使用户修改后能保存。
后续如需增减字段,只需在模板中修改一次,新建和编辑表单将同步更新。
快速编辑:不开弹窗也能改数据
除了弹窗编辑,NocoBase 还支持在表格中快速编辑——无需打开任何弹窗,鼠标悬停单元格即可修改。
开启方式有两种:
- 表格区块级别:点击表格区块的 区块设置(三横线图标),找到 「快速编辑(Quick editing)」,开启后整个表格所有字段均支持快速编辑。
- 单个字段级别:点击某列的字段配置项,找到 「快速编辑」,可逐个字段控制是否启用。
开启后,鼠标移到表格单元格上方会出现一个小铅笔图标,点击即可弹出该字段的编辑组件,修改后自动保存。
适用场景:快速编辑特别适合批量修改状态、处理人等字段。例如管理员浏览工单列表时,可以直接点击「状态」列,快速将工单从“待处理”改为“处理中”,无需逐个打开编辑弹窗。
4.4 启用历史记录
工单系统最关键的一点是:谁在什么时候改了什么,必须有迹可循。NocoBase 的「历史记录」插件能够自动记录每一次数据变更。
说明:「历史记录」是 NocoBase 专业版插件,需要商业版授权。如果使用社区版,可跳过本节,不影响后续章节的学习。
配置历史记录
- 进入 设置 → 插件管理,确认「历史记录」(Record History)插件已启用。
- 进入插件配置页面,点击 「添加数据表」,选择 「工单」。
- 选择需要记录的字段:建议勾选 标题、状态、优先级、处理人、描述 等核心业务字段。
建议:不必记录所有字段。ID、创建时间等几乎不会手动修改的字段,无需追踪。只记录具有业务意义的字段变更。
- 配置完成后,点击 「同步历史数据快照」。插件自动将现有所有工单记录为第一条历史记录。此后,每次对数据表进行修改,都会新增一条历史记录。
在详情页查看历史
- 回到工单详情的抽屉页面(点击表格行的「查看」按钮)。
- 在抽屉中点击 「创建区块(Add block)」→ 历史记录。
- 选择 「当前数据表」,数据来源选择 「当前记录」。
- 详情页底部将出现清晰的时间线,展示每一次变更:谁在什么时间,将哪个字段从什么值改成了什么值。
经过多人处理的工单,所有变更一目了然,审计无忧。
小结
本章完成了数据的完整生命周期:
- 表单 — 用户可提交新工单,字段拥有默认值和验证规则
- 联动规则 — 紧急工单自动强制要求填写描述
- 详情区块 — 清晰展示工单完整信息
- 历史记录 — 自动追踪每一次变更,有据可查
从“看得见”到“填得进”再到“查得到”——工单系统已具备基本可用性。
相关资源
- 表单区块 — 表单区块详细配置
- 详情区块 — 详情区块配置
- 联动规则 — 字段联动规则说明

































