【问题标题】:How to call function when widget created创建小部件时如何调用函数
【发布时间】:2018-06-08 13:25:00
【问题描述】:

我想在创建小部件时调用一个函数。 如果是 Android,Activity 有 onCreate 函数。 在扑什么? 还是有其他架构?

谢谢。

【问题讨论】:

标签: dart flutter


【解决方案1】:

StatefulWidgetStateinitState 方法将在“创建”时调用,即“插入到树中”

您可以轻松地覆盖它:

@override
void initState() {}

看看comments in the source code about the function

【讨论】:

  • 谢谢!!你救了我。
  • 我想你的意思是StatefulWidget,而不是StatelessWidget
【解决方案2】:

如果您使用 GetX 框架和 GetView,特别是,上面介绍的解决方案将无法在 Flutter 中运行,因为它没有 initState() 方法。

我使用了众所周知的Future.delayed(Duration.zero,() {})方式:

// Say, I have many screens and one of them called "screenFour"
class LoginScreen extends GetView<screenFour> {

  // Initiate controller for the view (see GetX docs...)
  final screenFourController controller = Get.put(screenFourController());

  @override
  Widget build(BuildContext context) {
    // This method will be executed after widget will be completed.
    Future.delayed(Duration.zero,() {
      Get.snackbar('Hey-ho!', ' Widget is rendered completely!');
    });

    return
      Scaffold(body:...);
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2023-02-15
    • 2021-12-30
    • 2020-01-03
    • 1970-01-01
    相关资源
    最近更新 更多