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()

相关推荐
峰兄1983053 小时前
探索傅里叶变换与短时傅里叶分析:从理论到脚本实践
flutter
奋斗的小鹰8 小时前
在已有Android工程中添加Flutter模块
android·flutter
笨小孩7878 小时前
Flutter深度解析:从入门到实战的跨平台开发指南
flutter
豫狮恒8 小时前
OpenHarmony Flutter 分布式多模态交互:融合音视频、手势与环境感知的跨端体验革新
flutter·wpf·openharmony
笨小孩78710 小时前
Flutter深度解析:从原理到实战的全栈开发指南
flutter
豫狮恒11 小时前
OpenHarmony Flutter 分布式数据共享实战:从基础存储到跨设备协同
flutter·wpf·openharmony
安卓开发者11 小时前
第一课:Flutter环境搭建与第一个应用 - 从零到一
flutter
L、21811 小时前
Flutter 与开源鸿蒙(OpenHarmony):跨平台开发的新未来
flutter·华为·开源·harmonyos
L、21812 小时前
Flutter 与 OpenHarmony 深度融合实践:打造跨生态高性能应用(进阶篇)
javascript·flutter·华为·智能手机·harmonyos
鹏多多12 小时前
Flutter输入框TextField的属性与实战用法全面解析+示例
android·前端·flutter