gpt4 book ai didi

flutter - Flutter中如何从子小部件调用父小部件功能

转载 作者:行者123 更新时间:2023-12-04 14:09:07 25 4
gpt4 key购买 nike

我有一个父 StatefulWidget 和子 StatefulWidget。我想调用父小部件的函数,即 goToPreviousItem从子小部件。
家长类

class Parent extends StatefulWidget {
@override
_ParentState createState() => _ParentState();
}

class _ParentState extends State<Parent> {
String item = 0;
@override
Widget build(BuildContext context) {
return ChildClass();
}


goToPreviousItem(value){
setState(() {item = value});
}
}
child 类
class Child extends StatefulWidget {
@override
_ChildState createState() => _ChildState();
}

class _ChildState extends State<Child> {
@override
Widget build(BuildContext context) {
return Container(
child: FlatButton(
color: Color(0XFFEFEFEF),
textColor: primaryColor,
disabledColor: Colors.grey,
disabledTextColor: Colors.black,
padding: EdgeInsets.symmetric(
vertical: 15.0, horizontal: 10.0),
onPressed: () => goToPreviousItem(2),
child: Text(
"Update",
),
),
);
}
}
我怎样才能做到这一点?

最佳答案

  • 创建一个 Function在您的子小部件中输入参数。
    class Child extends StatefulWidget {

    Function function;
    Child({this.function});

    @override
    _ChildState createState() => _ChildState();
    }

    class _ChildState extends State<Child> {
    @override
    Widget build(BuildContext context) {
    return Container(
    child: FlatButton(
    color: Color(0XFFEFEFEF),
    textColor: primaryColor,
    disabledColor: Colors.grey,
    disabledTextColor: Colors.black,
    padding: EdgeInsets.symmetric(
    vertical: 15.0, horizontal: 10.0),
    onPressed: () => widget.function(2),
    child: Text(
    "Update",
    ),
    ),
    );
    }
    }
  • 传递函数goToPreviousItem作为从父小部件到子小部件的参数。
    Child(function: goToPreviousItem);
  • 使用 widget.function(2) 访问您的功能在子小部件内。
  • 关于flutter - Flutter中如何从子小部件调用父小部件功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65968369/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com