为小部件属性提供匿名/内联函数



我是dart和flutter的新手,我正在尝试使用内联函数来返回值。

SizedBox(
height: _getheight()
),
double _getheight(){
//do some stuff
return 20.0;
}
//WORKS
SizedBox(
height: (){return 20.0;}
),
//(Won't build)

错误:无法将参数类型"double Function(("分配给参数类型"double"。

SizedBox(
height: (){return 20.0;} as double
),

--生成但在运行时失败错误:类型'((=>double不是类型强制转换中类型"double"的子类型

height采用类型为double的值。在第一个示例中,您正在执行_getheight(),然后将此执行的结果作为名为height的参数给出。

在第二个示例中,您试图给height一个函数作为参数(类型为double Function()(,这是不允许的,因为height被定义为接受double

然后你可以做:

SizedBox(
height: (){return 20.0;}()
),

它将执行该方法(请参阅最后一个()(,并将返回的值用作height的参数。

相关内容

  • 没有找到相关文章

最新更新