Tengo una pregunta y espero que me puedan ayudar a encontrar la respuesta correcta.
tengo el siguiente código.
import Slider from '@material-ui/core/Slider'; export default function RangeSlider({setValue1}) { const location = useLocation(); const classes = useStyles(); const [value, setValue] = useState(['', 150000]); const handleChange = (event, newValue) => { setValue(newValue); setValue1(value); }; useEffect(() => { setValue(['', 150000]); setValue1(value); }, [location.search]); return ( <div className={`filter-slider-wrapper ${classes.root} `}> <p> <input type="number" className="slider-input" onChange={({target}) => { if (target.value.length > 7) { return false; } setValue([+target.value, value[1]]); setValue1(value); }} value={value[0]} /> </p> <Slider value={value} onChange={handleChange} min={1} max={150000} /> <p> <input type="number" className="slider-input" onChange={({target}) => { if (target.value.length > 7) { return false; } setValue([value[0], +target.value]); setValue1(value); }} value={value[1]} /> </p> </div> ); }Cuando escribí algo en la entrada y luego eliminé la entrada del formulario, todo se eliminó, pero después de que apareció ese número "0" y no se pudo eliminar, ¿cómo puedo evitar ese caso?
Gracias a todos.
Ya resolví este problema.
Acabo de eliminar el símbolo "+" en setValue([+target.value, value[1]]);
Ahora la forma correcta de evitar que el número "0" se escriba sin el símbolo "+"
La forma correcta es: setValue([target.value, value[1]]);