alibaba-fusion / next

🦍 A configurable component library for web built on React.
https://fusion.design
MIT License
4.59k stars 592 forks source link

[Field]field.setValue支持传递值泛型 #4852

Open xmsz-stu opened 6 months ago

xmsz-stu commented 6 months ago

Component

Field

Feature Description

希望支持

    setValue<T>(name: string, value: T, reRender?: boolean, triggerChange?: boolean): void;

我看之前是支持的,后面又去掉了 支持这个的好处就是我可以约束和提示值,不然不好检查

eternalsky commented 4 months ago

这个问题仔细想了一下,这里如果使用泛型并符合 TS 中关于函数泛型的推荐范式,即至少有两处使用到该类型时才使用。这里如果希望约束 value 的类型,我觉得更好的方式是 setValue 时 as Type

xmsz-stu commented 4 months ago

as type会遇到多传的情况 type A = {a:number} setState({a:1,b:2} as A) // 是能通过的,但是实际上不想通过,因为有可能这个属性有副作用

eternalsky commented 1 month ago

有道理

github-actions[bot] commented 3 weeks ago

你好,该 issue 已 30 天没有活动,因此被标记为 stale,如果之后的 7 天仍然没有活动,该 issue 将被自动关闭

eternalsky commented 3 weeks ago

https://github.com/alibaba-fusion/field/commit/d6e026b20b4e14d50b8fd1d7704753fb90ed83c2