调用 StatefulWidget 组件的参数时(widget.xxx)报 Invalid Constant Value

2022/3/1 6:21:41

本文主要是介绍调用 StatefulWidget 组件的参数时(widget.xxx)报 Invalid Constant Value,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一个 Flutter 组件(Widget)在很多情况下都需要接收一些参数。Flutter 插件通常提示使用 const 关键字包裹某 Widget(很多人接受建议且执行),导致通过 widget.xxx 使用参数的时候报:Invalid Constant Value.

所以,只需要把const关键字删除掉就可以通过编译了。

下面是报错的案例:

class QYInput extends StatefulWidget {
  /// [obscureText] 组件参数
  final bool obscureText;

  /// [this.obscureText] 构造函数初始化 [obscureText] 参数,默认值为 false
  const QYInput({Key? key, this.obscureText = false}) : super(key: key);

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

class _QYInputState extends State<QYInput> {
  @override
  Widget build(BuildContext context) {
    /// [widget.obscureText] StatefulWidget 组件接收参数之后通过 [widget] 来调用,[widget] 本身指向的就是 [QYInput] 组件
    return const TextField(obscureText: widget.obscureText);
  }
}


这篇关于调用 StatefulWidget 组件的参数时(widget.xxx)报 Invalid Constant Value的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程