【问题标题】:Flutter calling a method inside the build methodFlutter 在 build 方法中调用方法
【发布时间】:2020-09-17 20:33:56
【问题描述】:

我有一个带有两个小部件的屏幕,一个有一个按钮,另一个有一个底页功能。 我想从另一个小部件调用底部工作表函数,问题是我的底部工作表函数需要上下文,这使得它必须在构建函数中调用。我可以使用控件 1 上的 voidcallback 调用任何函数,该函数在控件 2 上具有按钮和构造函数方法,但我需要上下文来调用此函数。怎么可能做到这一点?

【问题讨论】:

  • 你需要触发这个的小部件的上下文,在方法参数中传递那个上下文

标签: flutter flutter-layout


【解决方案1】:

只需让您的方法接受 BuildContext context 作为参数,然后当您调用它时,您就可以传递进行调用的小部件的上下文。

【讨论】:

  • 如何从 statefulwidget 调用 state 内的函数?如果它是一个异步函数呢?
  • 为什么要在state中调用它?为什么不打电话给initState()
  • 我不想在容易的状态下调用它,因为它已经在同一范围内。为什么要在 initState() 中调用它? initState() 会在程序每次运行时运行,这不是理想的结果。我的函数存在于我想从 statefulwidget 中的构造函数调用它的状态,因此我可以从小部件外部调用它。
  • 如果没有代码,我无法说出您真正想要什么,但您可以使用 widget.methodName() 调用内部有状态小部件中的方法
  • 在 state 内部,我可以使用 widget.methodName() 调用 statefulwidget 内部的方法。但我想要相反,我在状态内有我的底部工作表函数,因为它有需要 setState() 的元素,我不能将它放在其他任何地方。我需要从构造函数中调用该函数,以便可以从小部件外部调用它。
猜你喜欢
  • 2020-08-11
  • 2023-02-25
  • 1970-01-01
  • 2020-06-12
  • 2021-07-29
  • 2020-12-03
  • 2020-11-06
  • 2021-02-16
  • 2019-09-23
相关资源
最近更新 更多