javascript - setState from input on change - can't delete from input -


i have input:

 <input type="text" value={this.state.current} onchange={this.handlechange.bind(this)} /> 

handlechange() method:

handlechange(e) {   let val = parseint(e.target.value);    if (val) {     this.set(val);   } } 

and set() method (simple set number between 1 , 5 state):

set(val = 1) {   if (val < 1) {     val = 1;   }   if (val > 5) {     val = 5;   }   this.setstate({ current: val }); } 

my problem is: when want change value in input, can't delete number it. think auto filled state imediatly after delete number. problem in code?

exmaple on jsfiddle: https://jsfiddle.net/4sc3p2ny/

when trying remove value input, e.target.value returns '' in case parseint(e.target.value) returns nan, because parseint('') returns nan., need check , set current empty string

 handlechange(e) {    let val = parseint(e.target.value);     if (isnan(val)) {      this.setstate({ current: '' });    } else {      if (val < 1) {        val = 1;      }       if (val) {        this.set(val);      }    }  } 

example


Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -