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

如何完全移除Flutter Stepper组件中的取消按钮

移除Flutter Stepper组件取消按钮的解决方案

Flutter官方默认的Stepper组件没有提供单独隐藏取消按钮的配置参数,你可以通过自定义操作按钮区域的方式完全删除取消按钮,只需要给Stepper组件添加controlsBuilder属性即可,修改后的代码如下:

Widget build(BuildContext context) {
    return Scaffold(
      body: Stepper(
        currentStep: _stepIndex,       
        onStepCancel : null,
        onStepTapped: null,
        onStepContinue: () async {
          if (_stepIndex == 0) {
            if (!_isLoading) {
              String phone = _phoneNumber.substring(1, _phoneNumber.length);
              final response = await supabase
                  .from('users')
                  .select('id')
                  .eq('phone_number', phone)
                  .execute();
              response.data.length == 0 ? _signUp() : _signIn();
            }
          }
        },
        // 新增controlsBuilder自定义底部操作按钮
        controlsBuilder: (BuildContext context, ControlsDetails details) {
          return Row(
            children: <Widget>[
              // 只保留继续按钮,不渲染取消按钮
              TextButton(
                onPressed: details.onStepContinue,
                child: const Text('继续'),
              ),
            ],
          );
        },
        steps: <Step>[
          Step(
            title: const Text('Enter Phone Number'),
            content: Container(
              alignment: Alignment.centerLeft,
              child: IntlPhoneField(
                initialCountryCode: 'CA',
                onChanged: (phone) {
                  setState(() {
                    _phoneNumber = (phone.completeNumber).trim();
                  });
                },
              ),
            ),
          ),
        ],
      ),
    );
}

如果你需要调整按钮的样式、文字或者添加其他自定义控件,都可以直接在controlsBuilder返回的Widget中修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:57:03