flutter - 从匿名函数返回值

标签 flutter dart

当我使用匿名函数时。

它显示了编译错误,
Error: A value of type 'Text Function()' can't be assigned to a variable of type 'Widget'.

Widget cols = Column(
  children: <Widget>[
    ((){
      if (myFlg){
        return Text("OK");
      }else {
        return Text("No");
      }
    }),
    Text("left"),
    Text("Right")
  ]
);

好,我明白了。
它返回函数本身,而不是Text() Widget。

但是,在这种情况下,如何从匿名函数返回Text()呢?

最佳答案

您的代码几乎可以正常工作。您忘了执行功能:

(() {
  if (myFlg) {
    return Text("OK");
  } else {
    return Text("No");
 }
})(),

请注意,您实际上可以将if语句放入集合中,因此在此示例中,您可以避免使用匿名函数并执行以下操作:
Widget cols = Column(
  children: <Widget>[
    if (myFlg) Text("OK") else Text("No"),
    Text("left"),
    Text("Right")
  ]
);

关于flutter - 从匿名函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59142173/

相关文章:

dart - 从 dart 中的另一个列表中删除列表

flutter - 如何打开/查找由 path_provider 创建的文件?

Flutter:如何在运行时更改 MaterialApp 主题

flutter - 未为对象定义 Getter

flutter - 如何在 Flutter 中使用 Razorpay Orders API?

Flutter:多语言应用程序 - 如何覆盖语言环境?

dart - Dart-运行RPC生成客户端时出错

flutter - 如何在 flutter 导入中将所有绝对路径转换为相对路径?

firebase - 在1m 9s内构建失败,并完成以下错误:Gradle任务assembleDebug失败,退出代码为1

flutter - 我需要在选项卡中添加一些东西 我应该在代码中的什么地方添加