父子组件通信
完整代码
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)),
}
}
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);
}
父->子
定义父组件变量 data,在子组件Child的构造方法中把data值传进去,子组件接收data。
父->子
子组件接收callBack并调用callBack将data值传过去。
父组件定义onChanged,绑定到callBack中,接收子组件传过来的data值。
网友评论