微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter:如何更改其他函数中的本地值?

如何解决Flutter:如何更改其他函数中的本地值?

我不知道这是否可行,但如何更改另一个函数中的值?

例如在这函数中,函数接收值但它不能返回它,因为它返回小部件“Switch”:

import 'package:Flutter/material.dart';

class CustumSwitch extends StatefulWidget {
  bool _switchGD;
  CustumSwitch(this._switchGD);

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

class _CustumSwitchState extends State<CustumSwitch> {
  @override
  Widget build(BuildContext context) {
    return Switch(
        value: widget._switchGD,onChanged: (value) {
          setState(() {
            widget._switchGD = !widget._switchGD;
          });
          
        });
  }
}

解决方法

在构建期间要动态更改值的每种情况下,您都必须使用 setState() 方法。

onChanged: (value) {

  setState((){                        
    widget._switchGD = !widget._switchGD;
  });
                        
});

它会起作用..但我建议您了解一些有关 Flutter 最佳实践的知识,因为您永远不想使用非最终字段作为 Widget 参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。