Flutter,我可以为指定参数传递Map吗?

时间:2019-10-11 16:38:42

标签: android ios flutter dart coding-style

如果我有一些需要传递的命名参数级别,我不想为任何方法(例如,

)键入命名参数

BaseText(文本,选项) LargerText(文本,选项) MenuText(文本,选项)

最终,我需要使用不同的默认值将此参数传递给Text Widget, 但是写出所有参数,然后将每个参数传递下去似乎是很多工作, 我该如何解决这个问题。

在JS中我会做

LargerText(text,options){
   options = {...defaultOptions,...options}
   return BaseText(text,options)
}

1 个答案:

答案 0 :(得分:1)

如果 Dart 支持将映射扩展为命名参数,这会降低类型安全性,或者引入开销检查。

使用对象来解决这个问题。这正是对象的用途。每次调用时,编译器都会检查该类是否是该方法所期望的,以及是否存在所有字段。地图上不会有这个。