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

Flutter中TextButton绑定跳转函数报错,仅press:null可正常显示

问题解决

核心原因

你在body.dart里给DefaultButton加了const修饰,但传入的press是匿名函数() {...}。const构造函数要求所有参数必须是编译时常量,匿名函数不属于常量范畴,因此会导致press无法被识别。

修复方案

直接移除DefaultButton前的const关键字即可:

// 去掉const修饰符
DefaultButton(
  text: "ok",
  press: () {
    Navigator.pushNamed(context, LoginPage.routeName);
  },
),

额外验证项

  1. 确认LoginPage的路由名称已正确定义:
    class LoginPage extends StatelessWidget {
      static const String routeName = '/login';
      // ... 其他代码
    }
    
  2. 确认在MaterialApp中已注册该路由:
    MaterialApp(
      routes: {
        LoginPage.routeName: (context) => const LoginPage(),
      },
    );
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:09:52