表单组件
表单组件主要用于创建一个数据实体或者收集一些信息, 界面示意如下:

配置说明
注解配置
- 配置注解:
@dev.fastball.ui.components.form.config.FormConfig - 属性说明:
- title:
- 类型:
String - 默认值:
"" - 配置作用: 该表单的标题, 暂不支持动态, 为空时标题不显示
- 类型:
- showReset:
- 类型:
boolean - 默认值:
true - 配置作用: 该表单是否提供重置按钮, 即回复表单修改前的数据状态, 默认为显式
- 类型:
- readonly:
- 类型:
readonly - 默认值:
false - 配置作用: 声明该表单为只读模式, 即不可编辑模式, 默认为编辑模式
- 类型:
- title:
记录操作配置
- RecordAction:
- 是否支持: 是
- 作用: 生成表单按钮, 操作相关详见操作
基础表单
- 实现接口:
dev.fastball.ui.components.form.Form<Model> - 使用场景: 可用于普通数据收集或者创建场景, 无需后端获取数据
- 示例代码链接:
java
@UIComponent
public class EmployeeForm implements Form<Employee> {
private final EmployeeRepository employeeRepository;
@RecordAction(name = "提交")
public void submit(Employee employee) {
employeeRepository.save(employee);
}
}
有参表单
- 实现接口:
dev.fastball.ui.components.form.VariableForm<Model, Param> - 使用场景: 可用编辑, 或者基于其他参数创建新等场景, 提供了获取表单初始化数据的接口, 第二泛型就是入参类型
- 方法说明:
Model loadData(Param): 用于返回表单的初始化数据
- 示例代码链接:
java
@UIComponent
public class EmployeeCreateForm implements VariableForm<Employee, Org> {
private final EmployeeRepository employeeRepository;
@RecordAction(name = "提交")
public void submit(Employee employee) {
employeeRepository.save(employee);
}
@Override
public Employee loadData(Org org) {
Employee employee = new Employee();
if (org != null) {
employee.setOrgId(org.getId());
}
return employee;
}
}