You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中StatelessWidget使用widget.text报未定义错误

问题:StatelessWidget中使用widget.text触发"Undefined name 'widget'"错误

你的代码:

class MyWidget extends StatelessWidget {
final String text;

const MyWidget({required this.text});

@override
Widget build(BuildContext context) {
return Text(widget.text); // Accessing `text` using the `widget` keyword
}

错误提示:

Undefined name 'widget'. Try correcting the name to one that is defined, or defining the name.

错误原因

widget是State类专属的属性,用于关联对应的StatefulWidget实例。而StatelessWidget属于无状态组件,本身并没有widget这个成员,无需通过它访问自身的成员变量。

解决方法

直接使用text或者this.text替换widget.text即可,修正后的代码:

class MyWidget extends StatelessWidget {
final String text;

const MyWidget({required this.text});

@override
Widget build(BuildContext context) {
return Text(text); // 直接访问类成员变量
}

在当前类的方法中,this可以省略,两种写法效果完全一致。

内容的提问来源于stack exchange,提问作者Vickey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:59:57