Gyh's blog

vuePress-theme-reco gyh    2022
Gyh's blog Gyh's blog

Choose mode

  • dark
  • auto
  • light
Home
Category
  • Algorithm
  • CSS
  • JavaScript
  • Others
  • Server
  • Utils
  • Article
  • Note
  • Git
  • Npm
  • Standard
  • Summary
Tag
Timeline
About
GitHub
author-avatar

gyh

91

Article

11

Tag

Home
Category
  • Algorithm
  • CSS
  • JavaScript
  • Others
  • Server
  • Utils
  • Article
  • Note
  • Git
  • Npm
  • Standard
  • Summary
Tag
Timeline
About
GitHub

flutter 父子组件通信

vuePress-theme-reco gyh    2022

flutter 父子组件通信

gyh 2018-09-09 flutter

完整代码

class ParentState extends State<Parent> {
  String data = "父组件传递给子组件的值";

  void onChanged(val){
    setState(() {
      data = val;
    });
  }

  @override
  Widget build(BuildContext context) {
    ......
    //省略非关键代码
    new Child(data: data,callBack: (value)=>onChanged(value)),
  }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class child extends StatefulWidget {
  childTwo({Key key, this.data, this.callBack}) : super(key: key);
  final callBack;
  String data;

  @override
  void initState() {
    data = widget.data;
    super.initState();
  }
  ......
  //省略非关键代码
  widget.callBack(data);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

父->子

定义父组件变量 data,在子组件 Child 的构造方法中把 data 值传进去,子组件接收 data。

父->子

子组件接收 callBack 并调用 callBack 将 data 值传过去。 父组件定义 onChanged,绑定到 callBack 中,接收子组件传过来的 data 值。

Edit on GitHub~
LastUpdated: 5/17/2022, 8:59:22 AM