backspace method
void
backspace()
Implementation
void backspace() {
int index = focusNodes.indexWhere((node) => node.hasFocus);
if (index == -1) {
index = controllers
.lastIndexWhere((controller) => controller.text.isNotEmpty);
if (index == -1) return;
focusNodes[index].requestFocus();
Future<void>.microtask(() {
controllers[index].clear();
});
} else if (controllers[index].text.isNotEmpty) {
controllers[index].clear();
} else if (index > 0) {
focusNodes[index - 1].requestFocus();
Future<void>.microtask(() {
controllers[index - 1].clear();
});
}
final inputValue = controllers.map((c) => c.text).join();
if (widget.onChanged != null) {
widget.onChanged!(inputValue);
}
allFilled = controllers.every((c) => c.text.isNotEmpty);
if (mounted && !allFilled) setState(() {});
}