简体   繁体   English

输入初始值反应js

[英]input initial Value react js

I have questionand I hope you can help me to find right answer.我有问题,我希望你能帮助我找到正确的答案。

I have the following code.我有以下代码。

    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>
    );
   }

When I typeing something in input and after that I delleting form input everything was deleted, but after that "0" number was appeared and it was not deleteable, how can I avoid that case?当我在输入中输入内容,然后删除表单输入时,所有内容都被删除了,但在出现“0”数字之后,它是不可删除的,我该如何避免这种情况?

Thank you everybody.谢谢大家。

I alredy resolved this problem.我已经解决了这个问题。

I just deleted "+" symbol in setValue([+target.value, value[1]]);我刚刚在setValue([+target.value, value[1]]);中删除了“+”符号

Now the correct way to avoid "0" number to write without "+" symbol现在正确的方法是避免将“0”号写成没有“+”符号

Right way is: setValue([target.value, value[1]]);正确的方法是: setValue([target.value, value[1]]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM