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

Flutter支付页根据Radio选中项实现点击按钮跳转不同页面

Flutter支付页面功能实现

按以下两步修改即可完成需求:

补全第5项支付配置

原有标签、图标数组仅包含4项,需要补充第5项配置(数组索引从0开始,第5项对应索引为4),修改后代码如下:

final paymentLabels = [
  '信用卡/借记卡',
  'Go-Pay',
  'OVO',
  'ShopeePay',
  '异常测试通道'
];

final paymentIcons = [
  Icons.credit_card,
  Icons.money_outlined,
  Icons.payment,
  Icons.account_balance_wallet,
  Icons.error_outline
];

第5项的文案、图标可根据业务需求自行替换,只需保证两个数组长度一致为5即可。

调整支付按钮跳转逻辑

原有按钮点击后固定跳转成功页,需要替换为选中值判断逻辑:

  • 未选择任何支付方式时弹出提示,避免无效操作
  • 选中索引为4的第5项支付方式时,跳转至支付失败页
  • 选中其余支付方式时,跳转至支付成功页
    从失败页返回后自动回到支付选择页是Flutter路由push方法的默认行为,无需额外编码。
    修改后的支付按钮代码如下:
DefaultButton(
  btnText: 'PAY',
  onPressed: () {
    // 未选择支付方式时提示
    if (value == null) {
      ScaffoldMessenger.of(context).showSnackBar(
        const SnackBar(content: Text('请先选择支付方式')),
      );
      return;
    }
    // 按选中值跳转对应页面
    final page = value == 4 ? const Fail() : const Success();
    Navigator.of(context).push(MaterialPageRoute(
      builder: (context) => page,
    ));
  }
)

注意:代码中的Fail是你自己实现的支付失败页类名,如果你的失败页命名不同请自行替换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:51:17