Skip to content

在onvalidate中怎么获取到其他栏位的值? #183

Answered by mengshang918
cyue177 asked this question in Q&A
Discussion options

You must be logged in to vote

onValidate目前支持三种类型的自定义校验

  • type为change的实时校验
    数据变化、立即校验
  • type为submit的提交校验
    点击自带的提交按钮或调用ref.current.onSubmit触发校验
  • type为onClick的点击校验
    点击组件确认按钮校验

为了减少组件渲染次数,保持一定的性能。目前整个表单的数据并没有透传,只透传了当前表单的数据。
type为submit是可以透传全部表单数据的,但是为了保持和其他两种类型的参数一致性,目前并没有透传。

目前涉及到联动多数据的校验解决方案:

  1. control函数中监听数据变化做校验
    不过control目前只能做到change的实时校验。
  2. 外部获取表单数据做校验

上面两个方案只是解决目前onValidat无法获取全局表单数据的临时方案。

后续规划

  • 使用recoil重构状态管理部分,提高性能
  • 提供get、set、merge函数代替dispatch函数(目前的get、set、merge只在部分场景下提供)

目前DripForm还在不断发展和完善中,如果您对于 Drip-Form 有建议或者错误修正等需求,欢迎提 issue 和 merge,我们极力感谢社区促进错误修正和改进。

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by mengshang918
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants