flutter 中如何优雅的二次封装小部件

2023-09-28 16:20:23 +08:00
 laters

想二次封装一些 input button appbar switch 但每个小部件都有很多属性,如何能避免一个一个写属性的方法,又能做到修改某些属性的默认值

970 次点击
所在节点    Flutter
7 条回复
AoEiuV020JP
2023-09-28 16:32:12 +08:00
没办法吧,要支持几个属性就得自己定义几个属性然后传过来再传进去,
AoEiuV020JP
2023-09-28 16:33:15 +08:00
@AoEiuV020JP #1 感觉主要还是 flutter 没有反射,有些操作是理论上就办不到的,
laters
2023-09-29 09:22:01 +08:00
@AoEiuV020JP 如果全部支持呢 就只能一个一个定义,然后再传 ? 这样就怕版本更新了什么属性, 然后二次封装组件就不知道
begeneral
2023-10-05 05:08:51 +08:00
试试 xxx.copyWith
laters
2023-10-08 15:21:16 +08:00
@begeneral 组件好像不能 copyWidth 吧
begeneral
2023-10-09 01:37:10 +08:00
@laters 用扩展类,dart 的 extension 用法了解下
jmliang
2023-10-11 10:57:33 +08:00
没办法,目前是自己封装一下常用的 widget

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX