gpt4 book ai didi

flutter : Disable Previous Stepper Click

转载 作者:行者123 更新时间:2023-12-03 02:49:42 24 4
gpt4 key购买 nike

我正在使用 Stepper用于制作更改 PinCode 表单的小部件。一切正常,但我不知道如何禁用之前的步进点击。
例子 :

  • 步骤 1 输入旧密码。
  • 步骤 2 输入新密码。

  • 如果我在第 2 步中单击步进器,我不想返回到第 1 步。
    我该如何解决这个问题?

    stepper

    这是我的源代码:
    Form(
    key: _formKey,
    child: Stepper(
    steps: steps(),
    currentStep: currStep,
    onStepContinue: () {
    setState(() {
    if (formKeys[currStep].currentState.validate()) {
    if (currStep < steps().length - 1) {
    currStep += 1;
    } else if (steps().length == 2) {
    print('Done');
    } else {
    currStep = 0;
    }
    }
    });
    },
    onStepTapped: (step) {
    setState(() {
    currStep = step;
    print(step);
    });
    },
    ),
    ),
    List<Step> steps() {
    return [
    Step(
    title: const Text('Enter Previous PinCode'),
    isActive: currStep == 0 ? true : false,
    state: StepState.indexed,
    content: Form(
    key: formKeys[0],
    child: TextFormField(
    autofocus: true,
    keyboardType: TextInputType.number,
    validator: (value) {
    if (value.isEmpty || value != userModelHive.pinCodeNumber) {
    return 'PinCode Invalid';
    }
    return null;
    },
    ),
    ),
    ),
    Step(
    title: const Text('Enter New PinCode'),
    isActive: true,
    state: StepState.indexed,
    content: Form(
    key: formKeys[1],
    child: TextFormField(
    autofocus: true,
    keyboardType: TextInputType.number,
    validator: (value) {
    if (value.isEmpty) {
    return 'Provided PinCode';
    } else if (value.length < 4 || value.length > 6) {
    return "More than 4 Less than 6";
    }
    return null;
    },
    ),
    ),
    ),
    ];
    }

    最佳答案

    只需检查 step onStepTapped 中的变量天气是否是先前的...如果是先前的步骤,则不要调用setState

    Stepper(
    steps:steps(),
    currentStep:currentStep,
    onStepTapped:(step){
    if(step>currentStep){
    setState((){
    currentStep=step;
    });
    }
    }
    )

    关于 flutter : Disable Previous Stepper Click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412870/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com