Tencent / tdesign-react

A React UI components lib for TDesign.
https://tdesign.tencent.com/react
MIT License
839 stars 326 forks source link

[FormItem] FormItem组件会用自己的缺省值覆盖用户的props,导致初始化时丢失用户原来的状态 #2804

Open broxiang opened 8 months ago

broxiang commented 8 months ago

tdesign-react 版本

1.5.3

重现链接

https://codesandbox.io/p/sandbox/formitem-khwfg8

重现步骤

image image

源码捞出来在本地测试的结果:

image image image image

最简单的案例

image image

期望结果

不要影响用户的原始表单状态

实际结果

实际结果是用户状态被覆盖了

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

解决办法已经贴图里了,亲测有效~

github-actions[bot] commented 8 months ago

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

HaixingOoO commented 8 months ago

@broxiang 地址:https://tdesign.tencent.com/react/components/form?tab=demo#faq

image
broxiang commented 8 months ago

@HaixingOoO 这种办法虽然是能解决一部分问题,但是感觉这种设计略微不太合理,用initialData貌似解决不了一个FormItem中包裹多个Input的场景(每个Input的初始值不同),包括文档下面提到的只想用Form来布局的场景,也必须要在内部套一层div,不然也没办法达到纯净的布局作用,这个设计有些侵入业务,略微超出了UI组件的职责范畴(假设是存量系统做迁移,这种也是一种阻力),是否可以考虑增加一个控制属性来关掉这个特性呢~

image image image
HaixingOoO commented 8 months ago

@broxiang 我们讨论一下,感谢!!!