Como detectar o backspace em um TextField vazio do Flutter em um campo OTP
onChanged nunca dispara porque nenhuma edição acontece, e no iOS o deleteBackward do engine retorna sem tocar em nada quando o campo está vazio. Duas abordagens que realmente funcionam em todas as plataformas: uma sentinela de largura zero que garante uma edição, e um único EditableText atrás de células desenhadas. Verificado no Flutter 3.47.2 / Dart 3.13.2.