Vá para '...' https://codesandbox.io/p/sandbox/jc2vtn
Digite algum valor nos campos superiores (rua1, rua2, cidade).
Em seguida, clique na caixa de seleção "Same as billing". O evento dessa caixa de seleção onChange
copia os valores dos campos superiores para os campos inferiores.
Mas, setFocus
não funciona corretamente. Se eu usar setFocus
nos três campos separadamente (ao verificar se eles têm um valor ou não), setFocus
funciona apenas para o último campo chamado.
setFocus moverá o cursor para o campo que você inseriu na função. Ele não faz nada se você tentar fazer isso em vários campos de uma vez. Acho que seu objetivo é corrigir o problema de sobreposição de rótulos? Descobri que isso aconteceu comigo quando o componente mudou de uncontrolled (ou seja, tem um undefined como valor) para controlled (tem um valor). Tente definir o valor do campo assim para que ele seja sempre controlado:
Eu também recomendo usar o React Hook Form Controller quando você quiser combiná-lo com componentes Mui. https://react-hook-form.com/docs/usecontroller/controller Veja também React Material UI Label Overlaps with Text