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

Flutter:向Stateful Widget传参报错‘selectedText未定义’求助

解决Stateful Widget中selectedText未定义的错误

问题出在你在State类_TestTestState里直接调用selectedText,但这个变量是定义在父类TestTest(StatefulWidget)中的,State类必须通过widget属性来访问对应Widget实例的成员变量。

只需要把switch (selectedText)改成switch (widget.selectedText)即可解决这个错误,修正后的完整代码如下:

class TestTest extends StatefulWidget {
  final String selectedText;
  const TestTest({Key? key, required this.selectedText,})
      : super(key: key);

  @override
  State<TestTest> createState() => _TestTestState();
}

class _TestTestState extends State<TestTest> {
  String optionAData = '';
  String optionBData = '';
  @override
  Widget build(BuildContext context) {
    switch (widget.selectedText) {
      case 'OptionA':
        return Column(
          children: [
            WidgetDisplay1(
              onTap: (){
                setState(() {
                  optionAData = 'A123';
                });
              },
            ),
            WidgetDisplay3(
              onTap: (){
                setState(() {
                  optionAData = 'A456';
                });
              },
            ),
          ],
        );
      case 'OptionB':
        return Column(
          children: [
            WidgetDisplay5(
              onTap: (){
                setState(() {
                  optionBData = 'B123';
                });
              },
            ),
            WidgetDisplay3(onTap: (){
              setState(() {
                optionBData = 'B456';
              });
            }),
            WidgetDisplay4(
              onTap: (){
                setState(() {
                  optionBData = 'B789';
                });
              },
            ),
          ],
        );
      default:
        return Container();
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:50:28