antd中 监听某个表单域得变化, 触发onChange事件, 3.* 版本

时间:2025-01-18 21:59:59

在antd中 有时候 还是会碰见这样得问题得,但是antd已经帮我们封装好了,
通过form表单来控制 各个表单元素 ,当我们想要监控某一个表单的变化的时候 发现不好搞了

最近有个小需求 就是 监听表单中 单选框值得变化 来触发一些 效果,这样的话就要求你要知道
每次值发现改变的回调了

在 配置的时候 有一个api方法 可以用来 监控变化 以及变化后的值

onValuesChange	字段值更新时触发回调事件	function(changedValues, allValues)
onFieldsChange	字段更新时触发回调事件	function(changedFields, allFields)	-

但上面的哪两个 是在 时候 参数配置 导致 我们拿不到 this 当前组件得实例

这个 只能 弃用了, 不知道 到时候 v4版本 应该会加上 一个 监听某一个表单的变化得

不过真的就没办法了 吗
其实还是有的 我们可以 通过 自定义校验的方法来实现 每次监控值得变化

validator	自定义校验(注意,callback 必须被调用)	function(rule, value, callback)	-
validator(rule, value, callback) => {
	(value, '当前值')
  try {
    throw new Error('Something wrong!');
  } catch (err) {
    callback(err);
  }
}

每次 值得改变 会触发 这个校验 方法 然后 我们 拿到当前值 做一些 处理 这样就实现了

暂时只能这样解决了 后期 有更好的方法 我再更新呢
关注我 持续更新 前端知识