ResponsiveValue<T> constructor
ResponsiveValue<T> (
- BuildContext context, {
- required List<
Condition< conditionalValues,T> > - T? defaultValue,
Implementation
ResponsiveValue(this.context,
{required this.conditionalValues, this.defaultValue}) {
// Breakpoint reference check. Verify a parent
// [ResponsiveBreakpoint] exists if a reference is found.
if (conditionalValues.firstWhereOrNull((element) => element.name != null) !=
null) {
try {
ResponsiveBreakpoints.of(context);
} catch (e) {
throw FlutterError.fromParts(<DiagnosticsNode>[
ErrorSummary(
'A conditional value was caught referencing a nonexistent breakpoint.'),
ErrorDescription(
'ResponsiveValue requires a parent ResponsiveBreakpoint '
'to reference breakpoints. Add a ResponsiveBreakpoint or remove breakpoint references.')
]);
}
}
List<Condition> conditions = [];
conditions.addAll(conditionalValues);
// Get visible value from active condition.
value = (getValue(context, conditions) ?? defaultValue) as T;
}