【问题标题】:Declare variable outside Widget build in Flutter在 Flutter 中的 Widget 构建外部声明变量
【发布时间】:2021-11-24 07:25:52
【问题描述】:

我正在尝试在其他类中使用变量,但它不起作用。为什么我不能在 Widget 构建之外声明 orderChanged?

代码:

class HomeButton extends StatefulWidget {

  static bool orderChanged;

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

class _HomeButtonState extends State<HomeButton> {

 
  @override
  Widget build(BuildContext context) {
    bool _orderChanged = false;
    bool orderChanged = _orderChanged;
    return
        .
        .
        .
       
  onPressed: () async {

     setState(() {
     _orderChanged = true;
    });
  }
   .
   .
   .
  
        

谢谢你:)

【问题讨论】:

  • 订单变化值没有变化。它总是错误的。这是你的问题吗?
  • 不,它在 setState 中变为 true!问题是将 _orderChanged 导出为 Widget 构建之外的 orderChanged。我想在另一个类中使用 orderChanged!
  • 一言以蔽之,不能这样导出
  • 在类使用状态管理之外使用一些变量值

标签: flutter dart boolean android-widget


【解决方案1】:

您应该在构建方法之外声明变量,因为它会一次又一次地构建。您可以声明_HomeButtonState 类或HomeButton。 如果您想在HomeButton(有状态类)中声明变量(即 orderChanged),您可以使用

widget.orderChanged;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多