我尝试仅当API调用在第一步返回true时才显示步骤1。
Stepper(
currentStep: _currentStepper,
onStepContinue: _continueStep,
steps: [
Step(
title: const Text('Let\'s start with your phone number'),
***// call api***
),
Step(***// this step should be displayed only if the first step returns true***
title: const Text(
'Please enter the code sent to your mobile device'),
content: OTP CODE Step
],
),
void _continueStep() {
if (_currentStepper == 0) {
if (_formKey.currentState!.validate()) {
_signUpUser();
_currentStepper = 1;
}
}
}
1条答案
按热度按时间jq6vz3qz1#
问题在于,
通常,要显示/隐藏小部件,可以使用
Visibility
小部件。但是,在这里,
Stepper
小部件接受List<Step>
,因此您不能使用Visibility
小部件。变通方案
我创建了一个按钮来切换最后一步:
创建
steps
列表,并根据条件添加另一个小部件:在
Stepper
小工具中:另外,为
Stepper
小部件使用一个随机的key
,否则,您将收到an error。