2016-04-28 5 views
1

Ich versuche, das maxLength-Attribut in JSX zu verwenden, aber die Beispiele, die ich gefunden habe, funktionieren nicht.Verwenden von HTML-Attributen in JSX

<div> 
    <input type="Number" maxLength={5}/> 
</div> 

Dies ist, was ich zur Zeit, und ich habe versucht:

maxLength="5" 

maxLength={"5"} 

Danke.

+0

Unter der Annahme, sind Sie ganze Zahlen verwenden, versuchen Sie 'max =„99999“' Einstellung. [MDN on ''] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input). –

Antwort

2

Problem ist nicht mit reagieren oder JSX überhaupt. Das Problem ist, dass der Eingabetyp "number" maxlength-Eigenschaft nicht unterstützt. Es unterstützt Eigenschaft "max". Zum Beispiel:

<input type="Number" max="99"/> 

Erlaubt Zahlen bis 99.

Auch maxLength Eigentum und Sie können schreiben, es mögen JSX jedoch zwingend nötig:

maxLength="5" 
maxLength={"5"} 
maxLength={5} 

Es wird die gleiche Sache

+0

Ich sehe, ich wählte, um Text zu verwenden, weil ich die Eingabe nach 9chars einschränken wollte. Vielen Dank. – ys27

1

Müssen Sie den Typ "Nummer" verwenden? maxLength arbeitet mit "text", aber Sie möchten max mit Zahl verwenden, um das maximale Limit des Bereichs akzeptabler Zahlen zu definieren. wird es jedoch keinen Benutzer verhindern, dass mehr Zahlen dann eingeben, die Sie angegeben, wie hier beantwortet,

How can I limit possible inputs in a HTML5 "number" element?

+0

Danke, das war auch nützlich. – ys27