pro-components
pro-components copied to clipboard
👑 [需求]Form 关闭重置表单能提供 delay 参数,比如在弹出框完全关闭后重置
提问前先看看:
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
🔩 所属模块或组件
Form
🥰 需求描述
需要一个参数来控制重置的延迟时间
⛰ 功能需求适用场景
当 Drawer or Modal Form 关闭弹窗时候会有几百毫秒的关闭动效,希望在完全关闭后进行重置,这样就避免出现完全关闭前表单数据改动的情况
🧐 解决方案
提供 delayResetFormTime 参数,Layouts Form 提供默认参数
🚑 其他信息
你是说 重置表单 加延时?
你是说 重置表单 加延时?
是的,我重新编辑了需求内容
这个需求应该是让 Drawer 关闭等于表单销毁吧
这个需求应该是让 Drawer 关闭等于表单销毁吧
不是的,destroyOnClose 已经可以这样做了,我是想可以控制 resetForm 的时机,比如当关闭动画完全结束的时候
@chenshuai2144 DrawerForm 和 ModalForm 开启 destroyOnClose 时表单值在 onFinish 后会触发 resetFields 界面上会出现关闭动画过程中表单数据跳动回初始值
// packages/form/src/layouts/ModalForm/index.tsx
onFinish={async (values) => {
const result = await onFinishHandle(values);
// 这里应该延迟等待关闭动画完成后在执行
// 或者因为开启了 destroyOnClose 可以不执行
if (result === true) {
resetFields();
}
return result;
}}
换了写法了,可以用 afterOpenChange