Me gustaría saber cómo evitar que se borre una cadena específica, incluso si presiono la tecla de retroceso desde la entrada que pasó el valor.
producto: [none_fix]cambiarValor
Quiero evitar que la parte [none_fix] se borre incluso si presiono la tecla de retroceso.
Al convertir su input en un componente controlado , puede decidir qué valor muestra la entrada. Ponga la lógica que necesite en el controlador onChange de la entrada; por lo tanto, en este caso, no propague cambios que resultarían en la eliminación de UNERASABLE_TEXT :
const UNERASEABLE_TEXT = "[none_fix]"; export default function App() { const [controlledValue, setControlledValue] = useState(UNERASEABLE_TEXT); const onInputChanged = (e) => { const newValue = e.target.value; // Only allow changes that retain the magic string: if (newValue.startsWith(UNERASEABLE_TEXT)) { setControlledValue(newValue); } }; return <input onChange={onInputChanged} value={controlledValue} />; }