Flutter 父子组件 传值
发布日期:2021-10-10 05:31:04
浏览次数:29
分类:技术文章
本文共 2307 字,大约阅读时间需要 7 分钟。
首先是父组件
import 'package:flutter/material.dart';import 'package:testchuanzhi/Parent/ChildTwo.dart';import 'ChildOne.dart';// 传值class Parent extends StatefulWidget { @override _ParentState createState() => _ParentState();}class _ParentState extends State{ String data ='无'; String datatoParent ='来之父亲的问候'; void onDataChange(val) { setState(() { data = val; }); } @override Widget build(BuildContext context) { return Container( child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ChildOne(), ChildTwo(datatoParent: datatoParent, callback: (val) => onDataChange(val)), Container( child: Text(data), ) ], ), ), ); }}
子组件
```kotlinimport 'package:flutter/material.dart';class ChildTwo extends StatefulWidget { ChildTwo({ Key key, this.datatoParent, this.callback}) : super(key: key); final callback; String datatoParent; @override _ChildTwoState createState() => _ChildTwoState();}class _ChildTwoState extends State{ String data ="来之父组件的问候"; void firedA() { print("子组件里面促发了点击"); widget.callback('$inputTxt'); } String inputTxt; @override Widget build(BuildContext context) { return Container( width: 100, margin: EdgeInsets.only(top: 3), child: Column( children: [ Container( height: 20, width: 100, alignment: Alignment.center, margin: EdgeInsets.only(top: 3.0), decoration: BoxDecoration( color: Colors.red, borderRadius: BorderRadius.circular(10.0)), child:Text(widget.datatoParent), ), RaisedButton( onPressed: firedA, child: new Text('to父组件'), ), TextField( decoration: const InputDecoration( hintText: '给父组件传值', contentPadding: const EdgeInsets.all(10.0), ), // 当监听的数值发生变化的时候 监听输入的数值 onChanged: (val) { setState(() { inputTxt = val; }); print(inputTxt); }), ], ), ); }}
转载地址:https://blog.csdn.net/qq_22049619/article/details/104432120 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月31日 11时47分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Java设计者模式】-Java实现订阅-发布者模式
2019-04-26
【计算机操作系统】-什么是系统调用呢?什么是用户态?什么是内核态?
2019-04-26
【计算机操作系统-进程管理】-进程通信是什么呢?
2019-04-26
Python程序元素分析
2019-04-26
TurtleArt美景图
2019-04-26
margin布局
2019-04-26
盒模型之border实践--三角形
2019-04-26
块状元素与内敛元素
2019-04-26
CSS控制段落和文字属性和背景
2019-04-26
Python语言开发工具
2019-04-26
Requests库的入门
2019-04-26
Robots协议
2019-04-26
Python网络爬虫的网站实例
2019-04-26
HTML学习思维导图
2019-04-26
h标签与p标签
2019-04-26
BeautifulSoup库的安装及基本元素
2019-04-26
基于bs4的HTML内容遍历方法
2019-04-26
信息标记与信息提取
2019-04-26
各大网站CSS初始化代码
2019-04-26
正则表达式的基本用法
2019-04-26