tdesign-react icon indicating copy to clipboard operation
tdesign-react copied to clipboard

[Form] 动态表单 onFormChange 拿到的值不对

Open insekkei opened this issue 2 years ago • 5 comments

tdesign-react 版本

0.38.0

重现链接

https://codesandbox.io/s/tdesign-react-demo-forked-qji556?file=/src/demo.jsx

重现步骤

1、填写表单 image 2、取消选择「加辣」 image

期望结果

---valueschange custom 里没有 la-level 属性

实际结果

---valueschange custom 里有 la-level 属性

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

insekkei avatar Aug 08 '22 10:08 insekkei

👋 @insekkei,感谢给 TDesign 提出了 issue。 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

github-actions[bot] avatar Aug 08 '22 10:08 github-actions[bot]

♥️ 有劳 @ximendatie @cuijinyu @HQ-Lin @BaoTao1997 @yume316 尽快确认问题。 确认有效后将下一步计划和可能需要的时间回复给 @insekkei 。

github-actions[bot] avatar Aug 08 '22 10:08 github-actions[bot]

我排查下

honkinglin avatar Aug 10 '22 07:08 honkinglin

这不算是 bug 啊,你 custom 是异步更改的 state,然后当你 state 更改之后才重新触发 render 移除了 la-level 选项,但是我onvalueChange 函数触发的时候你还没更改 custom,所以我返回给你没有问题啊

honkinglin avatar Aug 10 '22 07:08 honkinglin

这种外部自己维护的 state,你只能通过 useEffect 处理业务逻辑 https://codesandbox.io/s/tdesign-react-demo-forked-0b2k1l?file=/src/demo.jsx

  React.useEffect(() => {
    console.log('all values:', formRef.current.getFieldsValue(true));
  }, [custom]);

honkinglin avatar Aug 10 '22 07:08 honkinglin