номер типа ввода с использованием минимального и максимального диапазона ошибок - PullRequest
1 голос
/ 30 января 2020

Я сделал генератор для случайного числа в диапазоне от минимального до максимального числа. Теперь, похоже, есть какая-то ошибка, которую я не могу определить, в моем ли это коде или во входном типе. Скажем, max = 99 и min = 11. Если я использую стрелки, чтобы минимальное значение было введено go ниже 10 (делая его одним числом di git), его значение увеличится до 15 (значение max), и если я попытайтесь использовать стрелки, чтобы сделать максимальное значение от go до 100 (делая его трехкратным числом git), оно будет прыгать до 11 (значение min). Что здесь происходит?

Приложение. js:

class Generator extends React.Component {
    constructor (props) {
        super(props)
        this.state = { 
        onView: '0',
        minNum: 0 ,
        maxNum: 100
      } 
    }

    btnClick = () => {
      const { minNum, maxNum } = this.state;
      const min = Math.ceil(minNum);
      const max = Math.floor(maxNum);
      const x = Math.floor(Math.random() * (max - min + 1)) + min;
      return this.setState({ onView : x });
    }

    minRangeInputChange = (event) => {
      const { minNum, maxNum } = this.state;
       if (event.target.value > maxNum) {
        this.setState({ minNum: maxNum });
       } else {
        this.setState({ minNum: event.target.value });
      }
      return console.log(minNum);
    }

    maxRangeInputChange = (event) => {
      const { minNum, maxNum } = this.state;
       if (event.target.value < minNum) {
        this.setState({ maxNum: minNum});
      } else {
        this.setState({ maxNum: event.target.value })
      }
      return console.log(maxNum);
    }

  render() {

  return (
    <div className="container">
    <Instructions />
    <Range 
      max={this.state.maxNum} 
      min={this.state.minNum} 
      minChange={this.minRangeInputChange}
      maxChange={this.maxRangeInputChange}
      />
    <Generate currentClick={this.btnClick}/>
    <View show={this.state.onView}/>
    </div>
    );
  }
}

export default Generator;

Компонент диапазона:

class Range extends React.Component {
    constructor(props) {
        super(props)
        }
        render() {
    return (
        <div className="range">
            <h3>Minimum</h3>
                <input 
                type="number" 
                min="0"
                max="99999999999999999999"
                value={this.props.min} 
                onChange={this.props.minChange} 
                required/>
            <h3>Maximum</h3>
                <input 
                type="number" 
                min="1"
                max="99999999999999999999"
                value={this.props.max}
                onChange={this.props.maxChange}
                required/>
        </div>
        )
    }
}


export default Range;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...