Skip to content
bitores edited this page Aug 13, 2019 · 4 revisions

在处理数据时, 我们经常要获取 form 对象来处理数据, 如 清空搜索条件功能\ 时间处理等

{
  label: '下单时间',
  type: 'rangepicker',
  key: ',time', //
  placeholder: ['开始时间', '结束时间'],
  suffixIcon: <Icon type="clock-circle" />,
  showTime: true,
  separator: '至',
  style: {
    width: 400
  },
  onChange: (dates, datesString, form) => {
    console.log(dates, datesString, form)
    form.setFieldsValue({
      startTimeStr: _time(dates[0]),
      endTimeStr: _time(dates[1])
    })
  }
}

如上数据, 需要转化 组件中 时间格式为 后台需要的格式, 这时我们需要用到 form 来处理 表单域

一般, 我们可以在 antd 常见事件如 onClick, onChange 等函数 最后一个参数拿到 form, 但如果不是常见的事件, 如何取得 form 对象呢? react-antd-super-form 当然也提供一种方法

<SuperForm
  ...
  search={{
      layout: 'inline',
      data: form =>[
       // 组件配置
      ]
  }}
  ...
/>

即, 可以在组件 配置中 data 直接返回一个函数, 此函数的参数就是 form

Clone this wiki locally