表单组件
表单组件主要用于创建一个数据实体或者收集一些信息, 界面示意如下:
配置说明
注解配置
- 配置注解:
@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;
}
}