'Stepper in a singlechildscrollview throw layout error
Main Screen Code Block:
Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(backgroundColor: Theme.of(context).primaryColor),
endDrawer: const AppDrawer(),
body: SingleChildScrollView(child: FieldDetailsStepper(uid: '')));
Stepper Code Block :
class FieldDetailsStepper extends ConsumerStatefulWidget {
const FieldDetailsStepper({Key? key, required this.uid}) : super(key:
key);
final String uid;
@override
ConsumerState<ConsumerStatefulWidget> createState() =>
_FieldDetailsStepperState();
}
class _FieldDetailsStepperState extends
ConsumerState<FieldDetailsStepper> {
@override
Widget build(BuildContext context) {
FieldDetailsBidStepperViewModel fieldDetailsStepperVm =
ref.read(fieldDetailsStepperViewModel);
return Directionality(
textDirection: TextDirection.rtl,
child: EnhanceStepper(
type: StepperType.horizontal,
physics: const ScrollPhysics(),
currentStep: ref.watch(fieldDetailsStepperViewModel).currentStep,
onStepContinue: fieldDetailsStepperVm.stepContinue,
onStepCancel: fieldDetailsStepperVm.stepCancel,
controlsBuilder: (BuildContext context, ControlsDetails controlsDetails)
=>
_buildStepperButtons(controlsDetails),
steps: [_buildFieldDimensionsStep(), _buildWorkStepsStep(),
_buildPriceSectionsStep()]),
);
}
Widget _buildStepperButtons(ControlsDetails controlsDetails) {
return Padding(
padding: const EdgeInsets.only(top: 30),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
_buildStepperButton(Colors.grey[300]!, () =>
controlsDetails.onStepCancel!(), 'ביטול'),
const SizedBox(width: 30),
_buildStepperButton(Colors.purple[300]!, () =>
controlsDetails.onStepContinue!(), 'שלב הבא'),
],
),
);
}
Error: Cannot hit test a render box that has never been laid out.
The stepper code block could be any stepper with some random widgets and its still throw the error i mentioned above .
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
