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

2022-10-27,,,,

一个 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的相关教程结束。

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

下载本文的Word格式文档,以方便收藏与打印。