[英]input initial Value react js
我有問題,我希望你能幫助我找到正確的答案。
我有以下代碼。
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”數字之后,它是不可刪除的,我該如何避免這種情況?
謝謝大家。
我已經解決了這個問題。
我剛剛在setValue([+target.value, value[1]]);
中刪除了“+”符號
現在正確的方法是避免將“0”號寫成沒有“+”符號
正確的方法是: setValue([target.value, value[1]]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.