jd-opensource / drip-form

基于React和JSONSchema的动态表单解决方案
https://jd-opensource.github.io/drip-form/
MIT License
613 stars 73 forks source link

[Feature] 希望提供onChange api 来支持用户获取formData的变化 #236

Open Henry129999 opened 2 years ago

Henry129999 commented 2 years ago

Is your feature request related to a problem? Please describe.

现在有一个场景,是form的外层组件需要实时感知用户对form的修改,并获取change后的formData。 但是目前只能通过ref获取,或者通过submit来一次性获取最终结果,无法感知用户的实时修改。

Description

  1. 提供onChange api
  2. onChange传递参数为:实时的formData,校验的结果errMsg等

Describe the solution you'd like

/

Describe alternatives you've considered

/

Self-service

mengshang918 commented 2 years ago
  1. 提供onChange api 可以通过control api达到相同的效果,control prop支持监听内部数据变化。
  2. onChange传递参数为:实时的formData,校验的结果errMsg等
    
    const onChange = ({
    //表单数据
    formData,
    //ui配置信息
    uiSchema,
    //校验配置信息
    dataSchema,
    //联动dispatch函数
    dispatch,
    //监听数据变化的表单(展示最后一次的表单的fieldKey)
    changeKey,
    //ajv、异步校验是否校验完毕
    checking,
    //dispatch语法糖,获取表单的值、uiSchema、dataSchema等信息
    get,
    //dispatch语法糖,设置表单的值、uiSchema、dataSchema
    set,
    //类似set,深度合并(set是替换,merge是合并)
    merge,
    //删除某个表单
    deleteField,
    }) => {
    // do anything
    }
``` 我理解需要 [[control支持外抛表单错误信息]] ,支持进度[查看](https://github.com/orgs/JDFED/projects/2/views/7)