子组件
class TrackNoWidget extends StatefulWidget {
const TrackNoWidget({super.key});
@override
State<TrackNoWidget> createState() => TrackNoWidgetState();
}
class TrackNoWidgetState extends State<TrackNoWidget> { //将class名最前面默认的下划线"_"去除,让它不是一个私有类
void someEvent() async {
//一个方法
}
@override
//build...
}
父组件
class PreEnter extends StatefulWidget {
const PreEnter({super.key});
@override
State<PreEnter> createState() => _PreEnterState();
}
class _PreEnterState extends State<PreEnter> {
final GlobalKey<TrackNoWidgetState> trackNoKey = GlobalKey();
void invokeSubWidget(){
trackNoKey.currentState?.someEvent();
}
@override
Widget build(BuildContext context) {
return TrackNoWidget(key: trackNoKey)
}
}