onInputBlur method
Implementation
void onInputBlur(String? v) {
if (v == null) {
value = 0;
} else {
var newValue = 0;
try {
newValue = int.parse(v);
if (newValue > max) throw FormatException('Value too large!');
if (newValue < min) throw FormatException('Value too small');
if (step != 0) {
while (newValue % step != 0) {
newValue++;
}
}
value = newValue;
} on FormatException catch (e) {
print(e);
value ??= 0;
// Reset the value
if (value! > min) {
if (value == max) {
value = min;
Future<void>.delayed(Duration(milliseconds: 0)).then((_) {
value = max;
if (_onChange != null) {
_onChange!(value!);
}
});
} else {
value = max;
}
} else {
if (value == min) {
value = max;
Future<void>.delayed(Duration(milliseconds: 0)).then((_) {
value = min;
if (_onChange != null) {
_onChange!(value!);
}
});
} else {
value = min;
}
}
}
}
if (_onChange != null) {
_onChange!(value!);
}
}