广告
返回顶部
首页 > 资讯 > 移动开发 >Flutter 父子组件互调方法
  • 642
分享到

Flutter 父子组件互调方法

flutterjavascript前端 2023-10-02 22:10:37 642人浏览 薄情痞子
摘要

Flutter 父子组件互调方法 文章目录 Flutter 父子组件互调方法一、父组件调用子组件方法1、概述2、代码实现3、效果 二、子组件调用父组件方法1、概述2、代码实现3、效果

Flutter 父子组件互调方法

文章目录

一、父组件调用子组件方法

1、概述

使用 GlobalKey:可以为子组件创建一个 GlobalKey 对象,通过该 GlobalKey 可以获取到子组件的状态,并调用其方法。

2、代码实现

import 'package:flutter/material.dart';class HomePage extends StatefulWidget {  const HomePage({super.key});    State<HomePage> createState() => HomePageState();}class HomePageState extends State<HomePage> {  // 在父组件中创建 GlobalKey  GlobalKey<SonWidgetState> sonWidgetState = GlobalKey<SonWidgetState>();    Widget build(BuildContext context) {    return Container(      color: Colors.white,      child: Column(        mainAxisAlignment: MainAxisAlignment.center,        children: [          // 在子组件中使用 GlobalKey          SonWidget(key: sonWidgetState),          const SizedBox(height: 10),          ElevatedButton(            onPressed: () => {              // 调用子组件方法              sonWidgetState.currentState?.changeName("訾博${DateTime.now().microsecondsSinceEpoch}"),            },            child: const Text("change name"),          )        ],      ),    );  }}/// 子组件class SonWidget extends StatefulWidget {  const SonWidget({super.key});    State<StatefulWidget> createState() => SonWidgetState();}class SonWidgetState extends State<SonWidget> {  late String name = "zibo";  /// 父组件调用此方法实现修改 name  /// @param newName 新的名字  void changeName(String newName) {    setState(() {      name = newName;    });  }    Widget build(BuildContext context) {    return Center(      child: Text(name, style: const TextStyle(fontSize: 40)),    );  }}

3、效果

screenshots

二、子组件调用父组件方法

1、概述

在 Flutter 中,子组件可以通过回调函数的方式来调用父组件的方法。

2、代码实现

import 'package:flutter/material.dart';class HomePage extends StatefulWidget {  const HomePage({super.key});    State<HomePage> createState() => HomePageState();}class HomePageState extends State<HomePage> {  late String name = "zibo";  /// 子组件调用此方法实现修改 name  /// @param newName 新的名字  void changeName(String newName) {    setState(() {      name = newName;    });  }    Widget build(BuildContext context) {    return Container(      color: Colors.white,      child: Column(        mainAxisAlignment: MainAxisAlignment.center,        children: [          Text(name, style: const TextStyle(fontSize: 40)),          const SizedBox(height: 10),          SonWidget(changeName: changeName),        ],      ),    );  }}/// 子组件class SonWidget extends StatefulWidget {  const SonWidget({super.key, required this.changeName});  final Function(String name) changeName;    State<StatefulWidget> createState() => SonWidgetState();}class SonWidgetState extends State<SonWidget> {    Widget build(BuildContext context) {    return Center(      child: ElevatedButton(        onPressed: () => {          // 调用父组件方法          widget.changeName("訾博${DateTime.now().microsecondsSinceEpoch}"),        },        child: const Text("change name"),      ),    );  }}

3、效果

screenshots2

来源地址:https://blog.csdn.net/qq_29689343/article/details/131541951

--结束END--

本文标题: Flutter 父子组件互调方法

本文链接: https://www.lsjlt.com/news/422825.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flutter 父子组件互调方法
    Flutter 父子组件互调方法 文章目录 Flutter 父子组件互调方法一、父组件调用子组件方法1、概述2、代码实现3、效果 二、子组件调用父组件方法1、概述2、代码实现3、效果 ...
    99+
    2023-10-02
    flutter javascript 前端
  • Vue3父子组件互调方法的实现
    目录一、父组件调用子组件方法1、子组件2、父组件3、测试结果4、关于 defineExpose 的官方文档二、子组件调用父组件方法1、子组件2、父组件3、测试结果4、关于 defin...
    99+
    2022-11-13
  • ReactHook父子组件相互调用函数方式
    目录React Hook 父子组件相互调用函数1.子组件调用父组件函数方法2.父组件调用子组件函数方法React Hook 父子组件传值父组件子组件React Hook 父子组件相互...
    99+
    2022-11-13
  • Vue3父子组件互调怎么实现
    今天小编给大家分享一下Vue3父子组件互调怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、父组件调用子组件方法下面...
    99+
    2023-06-30
  • React父组件怎么调用子组件的方法
    本教程操作环境:Windows7系统、react18版、Dell G3电脑。在React中,我们经常在子组件中调用父组件的方法,一般用props回调即可。但是有时候也需要在父组件中调用子组件的方法,通过这种方法实现高内聚。有多种方法,请按需...
    99+
    2023-05-14
    React.js 前端
  • 关于vue父组件调用子组件的方法
    组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功...
    99+
    2022-11-13
  • Angular中父子组件相互传参的方法
    这篇文章将为大家详细讲解有关Angular中父子组件相互传参的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 :父组件获取子组件的数据和方法也就是说 子组件给父组件传数据和方法通过ViewChild...
    99+
    2023-06-07
  • Vue子组件调用父组件方法案例详解
    一、直接在子组件中通过this.$parent.event来调用父组件的方法 <!-- 父组件 --> <template> <div> ...
    99+
    2022-11-12
  • vue父子组件的互相传值和调用
    目录1、父传值给子组件2、子传值给父组件3、子调用父组件中的方法4、父调用子组件中的方法1、父传值给子组件 父组件: <template> <div>...
    99+
    2022-11-12
  • Vue中子组件调用父组件的3种方法实例
    目录1.直接在子组件中通过“this.$parent.event”来调用父组件的方法。2.子组件用“$emit”向父组件触发一个事件,...
    99+
    2022-11-13
  • React父组件调用子组件中的方法实例详解
    目录Class组件1. 自定义事件2. 使用 React.createRef()3. 使用回调RefsFunction组件补充:子组件调用父组件方法总结文章中涉及 ref 的应用仅为...
    99+
    2022-11-13
  • vue3 父子组件间相互传值方式
    目录vue3父子组件相互传值父向子传值子组件向父组件传值vue3父子组件传值的注意事项解决办法:两种vue3父子组件相互传值 父向子传值 父 <pie-chart :pieDa...
    99+
    2022-11-13
  • angular父组件怎么调用子组件
    在Angular中,父组件可以通过在模板中使用子组件的选择器来调用子组件。以下是一个简单的示例: 在父组件的模板中,使用子组件的选择...
    99+
    2023-10-24
    angular
  • React父组件如何调用子组件
    本篇内容介绍了“React父组件如何调用子组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调用方法:1、类组件中的调用可以利用React....
    99+
    2023-07-04
  • vue父组件调用子组件方法报错问题及解决
    目录vue父组件调用子组件方法报错vue父组件调用子组件方法及遇到的问题vue父组件调用子组件方法报错 在父组件定义了一个tab标签页,每一个标签页下面都调用不同的组件, 如下图所示...
    99+
    2022-11-13
  • Vue中$emit $refs子父组件间方法如何调用
    这篇文章将为大家详细讲解有关Vue中$emit $refs子父组件间方法如何调用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、$emit子组件调用父组件的方法并传递数...
    99+
    2022-10-19
  • Angular父子组件通讯的方法
    这篇文章主要介绍Angular父子组件通讯的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述Angular组件间通讯组件树,1号是根组件AppComponent。组件之间松耦合,组件之间知道的越少越好。组件4里...
    99+
    2023-06-15
  • Vue父组件和子组件之间数据传递和方法调用
    vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。 父组件向子组件传值...
    99+
    2022-12-14
    Vue 父组件向子组件传递数据 vue子组件向父组件传值
  • vue.js中怎么通过父组件调用子组件的内部方法
    今天就跟大家聊聊有关vue.js中怎么通过父组件调用子组件的内部方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。子组件:<template&...
    99+
    2022-10-19
  • Vue中一个组件调用其他组件的方法详解(非父子组件)
    目录前言方式一:引用式方式二:vuex1、src/store/index.js2、被使用组件- A 页面(组件)3、使用触发页面-B 页面(组件)方式三:使用事件总线eventBus...
    99+
    2022-11-13
    vue调用其他组件方法 vue组件调用 vue组件之间调用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作