Dart 颤振:将数据从TabBarView(StatefullWidgets)发送回主脚手架
我想创建一个带有选项卡的应用程序来获取用户输入。问题是,不同的选项卡获得不同的输入,但我必须收集数据库的输入。我的想法是,主Scaffhold从所有选项卡收集输入并将其写入数据库!我的问题是,我不知道如何将数据从选项卡(另一个文件中的statefullWidget)发送到父类(Scaffold)或从那里运行函数 请帮助我,对不起我的英语不好Dart 颤振:将数据从TabBarView(StatefullWidgets)发送回主脚手架,dart,flutter,Dart,Flutter,我想创建一个带有选项卡的应用程序来获取用户输入。问题是,不同的选项卡获得不同的输入,但我必须收集数据库的输入。我的想法是,主Scaffhold从所有选项卡收集输入并将其写入数据库!我的问题是,我不知道如何将数据从选项卡(另一个文件中的statefullWidget)发送到父类(Scaffold)或从那里运行函数 请帮助我,对不起我的英语不好 Jonas您可以传递一个函数,该函数可以随时调用 小例子 MamaBear类 。。。 类_MamaBear扩展状态{ 虚空饥饿(字符串婴儿){ 打印($ba
Jonas您可以传递一个
函数,该函数可以随时调用
小例子
MamaBear类
。。。
类_MamaBear扩展状态{
虚空饥饿(字符串婴儿){
打印($babyBear饿了);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:容器(
子项:列(子项:[
婴儿(
“马克”,
(宝宝){
饥饿(婴儿);
},
)])));}
婴儿班
class BabyBear扩展了StatefulWidget{
最终字符串babybename;
最终作用于承载作用;
BabyBear(this.babyBearName,this.onBearAction);
@凌驾
_BabyBear createState()=>BabyBear();
}
类BabyBear扩展了状态{
@凌驾
小部件构建(构建上下文){
回程卡(
孩子:升起按钮(
孩子:短信(“妈妈,我饿了”),
已按下:(){
widget.onBearAction(widget.babybename);
}),
);
}
}您可以传递一个函数,该函数可以随时调用
小例子
MamaBear类
。。。
类_MamaBear扩展状态{
虚空饥饿(字符串婴儿){
打印($babyBear饿了);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:容器(
子项:列(子项:[
婴儿(
“马克”,
(宝宝){
饥饿(婴儿);
},
)])));}
婴儿班
class BabyBear扩展了StatefulWidget{
最终字符串babybename;
最终作用于承载作用;
BabyBear(this.babyBearName,this.onBearAction);
@凌驾
_BabyBear createState()=>BabyBear();
}
类BabyBear扩展了状态{
@凌驾
小部件构建(构建上下文){
回程卡(
孩子:升起按钮(
孩子:短信(“妈妈,我饿了”),
已按下:(){
widget.onBearAction(widget.babybename);
}),
);
}
}
...
class _MamaBear extends State<MamaBear> {
void hungryBear(String babyBear) {
print("$babyBear is hungry");
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Column(children: <Widget>[
BabyBear(
"Mark",
(babyBear) {
hungryBear(babyBear);
},
)])));}
class BabyBear extends StatefulWidget {
final String babyBearName;
final Function onBearAction;
BabyBear(this.babyBearName, this.onBearAction);
@override
_BabyBear createState() => _BabyBear();
}
class _BabyBear extends State<BabyBear> {
@override
Widget build(BuildContext context) {
return Card(
child: RaisedButton(
child: Text("Mama I'm hungry"),
onPressed: () {
widget.onBearAction(widget.babyBearName);
}),
);
}