Skip to content
本页目录

表单组件

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

form.png

配置说明

注解配置

  • 配置注解: @dev.fastball.ui.components.form.config.FormConfig
  • 属性说明:
    • title:
      • 类型: String
      • 默认值: ""
      • 配置作用: 该表单的标题, 暂不支持动态, 为空时标题不显示
    • showReset:
      • 类型: boolean
      • 默认值: true
      • 配置作用: 该表单是否提供重置按钮, 即回复表单修改前的数据状态, 默认为显式
    • readonly:
      • 类型: readonly
      • 默认值: false
      • 配置作用: 声明该表单为只读模式, 即不可编辑模式, 默认为编辑模式

记录操作配置

  • 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;
    }
}