gpt4 book ai didi

flutter - 在 Flutter 中,如何将数据传递到无状态 Widget?

转载 作者:行者123 更新时间:2023-12-04 11:03:52 27 4
gpt4 key购买 nike

我正在尝试构建我的第一个 Flutter 应用程序,但在将数据传递到无状态小部件时遇到了困难。我有以下类(class):

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'App Title',
theme: new ThemeData(
primarySwatch: Colors.green,
),
home: new MainBody(),
);
}
}


class MainBody extends StatelessWidget {

@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Padding(
padding: const EdgeInsets.only(left: 20.0, right: 20.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new TimeCheck(),
],
),
),
);
}
}
TimeCheckStateful Widget .基本上,我希望能够在开始时设置一些值,然后将它们传递给 TimeCheck , 通过 MainBody .我读到的所有内容都展示了如何将数据传递到 Stateful Widgets ,但是可以通过 Stateless Widget 传递它吗? ?

我意识到我可能采取了错误的方法,所以如果有帮助,我最终想做的是有一个“设置”页面,用户可以在其中设置数据的值(字符串和一些数字),并且然后这些值被传递给 TimeCheck它们用于生成显示的位置。

如果可能的话,我还希望能够保存用户设置的值,这样他们就不必每次都输入它们,然后我希望能够在 TimeCheck 时读取它们。被实例化。

最佳答案

是的,您只需将信息传递给构造函数即可完成此操作。像这样的东西:

 class MyApp extends StatelessWidget {
MyApp(this.yourData);

final int yourData;
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'App Title',
theme: new ThemeData(
primarySwatch: Colors.green,
),
home: new MainBody(yourData),
);
}
}


class MainBody extends StatelessWidget {
MainBody(this.yourData);

final int yourData;

@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Padding(
padding: const EdgeInsets.only(left: 20.0, right: 20.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new TimeCheck(yourData),
],
),
),
);
}
}

关于flutter - 在 Flutter 中,如何将数据传递到无状态 Widget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58031206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com