Zahl mit dezimaler ein-in Reagieren?

Ich habe eine Reihe von input innerhalb Reagieren Komponente, und es muss akzeptieren, dass die Zahl mit einem Dezimalpunkt. In der Regel Einträge in der Bruchteile eines cents, wie 0.0073, dass Art der Sache.

<div className="form-group">
  <label htmlFor="rate" className="col-sm-6 control-label">Rate:</label>
  <div className="col-sm-2"> 
    <input type="number"
      title="Rate"
      id="rate"
      className="form-control"
      value={this.props.rate}
      min="0.00"
      step="0.001"
      max="1.00"
      onChange={()=>{
        console.log('page rate changed');
        this.props.setrate($('#rate').val());
      }} />
  </div>
</div>

Das Problem ist, dass mit jeden Tastendruck, es ist das zurücksetzen der Preis für die app, und dann setzen diesen Wert in die input. Also es geht so:

  • Benutzer-Typen 0, der Wert auf 0, und 0 angezeigt.
  • Benutzer-Typen ., 0. ist keine gültige Zahl, so wird die Eingabe gelöscht.

Kann jeder denken, oder einen workaround? Ich weiß, ich könnte einfach ein normaler Eingang, aber type="number" führt zu einige nette Sachen in verschiedenen Browsern.

InformationsquelleAutor fnsjdnfksjdb | 2016-01-15
Schreibe einen Kommentar