在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);
}
}
每次 值得改变 会触发 这个校验 方法 然后 我们 拿到当前值 做一些 处理 这样就实现了
暂时只能这样解决了 后期 有更好的方法 我再更新呢
关注我 持续更新 前端知识