when I try to set values on my bottom-sheets widget, the following error is thrown:
Exception caught by widgets library ═══════════════════════════════════ The following StackOverflowError was thrown building BSheetWidget(dirty, dependencies: [MediaQuery], state: _BSheetWidgetState#759dc): Stack Overflow
The relevant error-causing widget was BSheetWidget lib\…\client\clientscreen_view.dart:874 When the exception was thrown, this was the stack #0 Driver.carReference package:taxi_app/…/models/driver.dart:29 #1 Driver.carReference package:taxi_app/…/models/driver.dart:29 #2 Driver.carReference package:taxi_app/…/models/driver.dart:29 #3 Driver.carReference package:taxi_app/…/models/driver.dart:29 #4 Driver.carReference package:taxi_app/…/models/driver.dart:29 ... ════════════════════════════════════════════════════════════════════════════════ Reloaded 1 of 2190 libraries in 2 987ms.
I find that the problem is here:
child: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('vehicule model'),
],
),
Text(widget.fullData.driver.carReference != null ? widget.fullData.driver.carReference.toString() : '', style: TextStyle(color: ThemeUtils.bluePlus,fontSize: 18)), //
],
),
),
but I find that when I tried to change the Text like :
Text(widget.fullData.driver.carReference != null ? widget.fullData.driver.carReference.toString() : '', style: TextStyle(color: ThemeUtils.bluePlus,fontSize: 18)),
it works:
my model:
@override
Driver clone(Map<String, dynamic> map) => Driver()..fromJson(map);
static const String carNameKey = 'carName';
static const String carReferenceKey = 'carReference';
static const String carSerieKey = 'carSerie';
static const String carImageKey = 'carImage';
String get carName => get<String>(carNameKey);
String get carReference => get<String>(carReference);
String get carSerie => get<String>(carSerie);
ParseFile get carImage => get<ParseFile>(carImageKey);
set carName(String value) => set<String>(carNameKey, value);
set carReference(String value) => set<String>(carReferenceKey, value);
set carSerie(String value) => set<String>(carSerieKey, value);
set carImage(ParseFile value) => set<ParseFile>(carImageKey, value);
The solution is to modify my setter to be
String get carReference => get<String>(carReferenceKey);
String get carSerie => get<String>(carSerieKey);