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

相关推荐
__WanG4 小时前
如何编写标准StatefulWidget页面
前端·flutter
LinXunFeng4 小时前
Flutter 多仓库本地 Monorepo 方案与体验优化
前端·flutter·架构
2501_9197490311 小时前
flutter鸿蒙:实现类似B站或抖音的弹幕功能
flutter·华为·harmonyos
用户0914 小时前
Flutter插件与包的本质差异
android·flutter·面试
浅蓝色15 小时前
flutter平台判断,这次应该没问题了。支持鸿蒙,插件已发布
flutter·harmonyos
怀君16 小时前
Flutter——打印之PdfPreview功能详细教程
flutter
唔661 天前
flutter实现web端实现效果
前端·flutter
sunly_1 天前
Flutter:启动动画Lottie
flutter
柿蒂1 天前
聊聊SliverPersistentHeader优先消费滑动的设计
android·flutter
fishofeyes2 天前
Riverpod使用
flutter