ant-design-vue icon indicating copy to clipboard operation
ant-design-vue copied to clipboard

form表单resetFields没有触发onValuesChange

Open findever opened this issue 5 years ago • 4 comments

  • [x] I have searched the issues of this repository and believe that this is not a duplicate.

Version

undefined

Environment

ant-design-vue 1.3.5

Reproduction link

Edit on CodeSandbox

Steps to reproduce

createForm时传递了onValuesChange,但是在调用表单的resetFields方法时,不会回调onValuesChange处理,导致外部脏数据

What is expected?

回调onValuesChange

What is actually happening?

未回调onValuesChange

findever avatar Mar 11 '19 09:03 findever

是不会回调的,数据流如此,UI交互导致的数据更改才会触发onValuesChange,手动reset和set都不会触发

tangjinzhou avatar Mar 15 '19 15:03 tangjinzhou

是不会回调的,数据流如此,UI交互导致的数据更改才会触发onValuesChange,手动reset和set都不会触发

@tangjinzhou 手动setFieldsValue会触发,表单的reset不会,按我的理解是,onValuesChange表示值表更了都会进行通知,不然这个变更监听就没什么意义了(无法捕获到所有的变更)?

findever avatar Mar 20 '19 02:03 findever

是不会回调的,数据流如此,UI交互导致的数据更改才会触发onValuesChange,手动reset和set都不会触发

@tangjinzhou 手动setFieldsValue会触发,表单的reset不会,按我的理解是,onValuesChange表示值表更了都会进行通知,不然这个变更监听就没什么意义了(无法捕获到所有的变更)?

是的,同样遇到了这个问题。业务中经常有通过表单值change去做表单联动 比如去控制其他控件显隐,set和reset改变了数据,但无法通过change捕获到value的所有变更,这让我很困惑 目前解决方案是在模板中通过form.getFieldValue('xxx')去绑定,这样可以捕获到所有变更

yxmg avatar Feb 05 '21 10:02 yxmg

太怪了

TORYOI avatar May 08 '24 01:05 TORYOI