最佳答案
如前所述,您需要使用回调。这意味着您将一个函数传递给您的 child ,它会在需要时调用。你将从内而上而不是自上而下地工作。
您将该函数存储为一个成员变量,当您的 child 被点击时,您将调用该函数。该函数将在您的父级中调用,您可以像调用普通函数一样将任何您想要的数据传回给父级。
这里有一些你可以用来进行调整的伪代码
class son extends StatelessWidget {
Function onClicked;
son({this.onClicked});
Widget build(...) {
return GestureDetector(
child: Container(...),
onTap: onClicked
)
}
}
class father extends StatelessWidget {
Widget build(...) {
return Container(
child:son(onClicked: _clicked)
)
}
void _clicked() {
print('clicked');
}
}
此外,一定要将您的类(class)名称更改为以大写字母开头。
关于dart - flutter父组件如何调用子组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55739947/