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

相关推荐
liulian09161 天前
Flutter 网络状态与内容分享库:connectivity_plus 与 share_plus 的 OpenHarmony 适配指南
网络·flutter
KKei16381 天前
Flutter for OpenHarmony 学习视频播放器技术文章
学习·flutter·华为·音视频·harmonyos
KKei16381 天前
Flutter for OpenHarmony 健身计划与运动打卡APP
flutter·华为·harmonyos
KKei16381 天前
Flutter for OpenHarmony 在线考试与自测系统APP技术文章
flutter·华为·harmonyos
liulian09161 天前
Flutter 依赖注入与设备信息库:get_it 与 device_info_plus 的 OpenHarmony 适配指南
flutter
KKei16381 天前
Flutter for OpenHarmony学习目标追踪应用技术文章
学习·flutter·华为·harmonyos
KKei16381 天前
Flutter for OpenHarmony 编程技能树APP技术文章
flutter·华为·harmonyos