#javascript #reactjs
Вопрос:
У меня есть вопрос, и я надеюсь, что вы поможете мне найти правильный ответ.
У меня есть следующий код.
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>
);
}
Когда я набирал что-то во вводе и после этого я удалял ввод формы, все было удалено, но после того, как появилось число «0», и оно не могло быть удалено, как я могу избежать этого случая?
Комментарии:
1. Как вы ожидаете, какое значение будет по умолчанию?
Ответ №1:
Спасибо всем вам.
Я уже решил эту проблему.
Я только что удалил символ » » в setValue([ target.value, value[1]]);
Теперь правильный способ избежать числа «0», чтобы писать без символа » »
Правильный путь-это: setValue([target.value, value[1]]);