flutter 父组件调用子组件方法

当子组件是有状态组件

声明GlobalKey

如 声明

GlobalKey formKey = GlobalKey<FormState>();
Form(

key: formKey,

autovalidateMode: AutovalidateMode.always,

child: Column(

children: <Widget>[

TextFormField(

autofocus: true,

initialValue: "a",

validator: (v) {

return v!.trim().length > 0 ? null : "请输入内容";

},

),

],

),

),

FormState 是 有状态组件Form 的 State实现 。FormState不能是下划线的 不能设置为私有属性

调用 Form 组件内定义方法

(formKey.currentState as FormState).validate()

当子组件是有状态组件

如无状态组件A

import 'package:flutter/material.dart';

class A extends StatelessWidget {

const A({super.key});

fun() {

print("调用的方法")

}

@override

Widget build(BuildContext context) {

return Container();

}

}

声明

GlobalKey aKey = GlobalKey<A>();

使用

(aKey.currentState as A).fun()

相关推荐
程序员老刘7 小时前
Dart Skills CLI 1.0发布,老刘年初的预言兑现了
flutter·ai编程·dart
天空之城--12 小时前
Flutter UI 绘制原理浅析
flutter
yume_sibai16 小时前
01-Flutter入门指南
flutter
lqj_本人1 天前
Flutter 三方库「flutter_ble_peripheral」的鸿蒙化适配指南
flutter·华为·harmonyos
lqj_本人1 天前
Flutter 三方库「flutter-dualscreen」的鸿蒙化适配指南
flutter·华为·harmonyos
●VON1 天前
鸿蒙跨平台框架怎么选?从真实需求比较 Flutter、React Native、KMP/CMP 与 Web 路线
flutter·react native·harmonyos
lqj_本人1 天前
Flutter 三方库「flutter_displaymode」的鸿蒙化适配指南
flutter·华为·harmonyos
lqj_本人1 天前
Flutter 三方库「drag_and_drop_flutter」的鸿蒙化适配指南
flutter·华为·harmonyos
天空之城--2 天前
Flutter 三棵树:原理、机制与最佳实践
flutter
天空之城--2 天前
Flutter线程模型完全指南:从架构到实战
flutter·架构