将参数从子代传递到父代,反之亦然

问题描述 投票:0回答:1

我想创建一个StatefulWidget,以便子代可以使用父代的参数,也可以对其进行更改。

//需要解决以下问题。

import "flutter/material.dart";    
Toggle(
  builder: (value) => IconButton(
    icon: Icon(value ? Icons.add : Icons.minimize),
      onPressed: () => value = !value,
  ),
);

class Toggle extends StatefulWidget{
  final bool status;
  Widget Function(bool status) builder;
  Toggle({Key key, this.status = true, this.builder,}) : super(key: key);
  @override _ToggleState createState() => _ToggleState();
}

class _ToggleState extends State<Toggle> {
  @override Widget build(BuildContext context) => widget.builder(widget.status);
}
flutter flutter-layout
1个回答
0
投票

通常,您在父级窗口小部件中创建一个函数来更改父级状态,并将该函数作为道具传递给子级窗口小部件,以便子级可以执行它并改变父级状态。

© www.soinside.com 2019 - 2024. All rights reserved.