Verwenden Sie ein Eingabefeld mit onBlur und einen Wert aus den in Reactjs JSX eingegebenen Statusblöcken?
Ich habe eine kleine Fiedel gemacht, um das Problem zu zeigen:http: //jsfiddle.net/4TpnG/582 Wenn Sie ein Eingabefeld mit onBlur und einem Anfangswert von state haben, wird die Eingabe über die Tastatur blockiert. Wenn onChange angehängt ist, funktioniert es korrekt. Warum passiert das und wie kann das gelöst werden? Ich hätte erwartet, dass es die von Ihnen eingegebenen Zeichen akzeptiert und den Status von onBlur aktualisiert.
var Test = React.createClass({
getInitialState: function() {
return {
value: "hallo"
};
},
render: function() {
return ( < form >
< div >
Onchange: < input type = "text"
value = {
this.state.value
}
onChange = {
this.handleChange
}
/><br/ >
Onblur: < input type = "text"
value = {
this.state.value
}
onBlur = {
this.handleChange
}
/>
</div >
< /form>
);
},
handleChange: function(e){
this.setState({value: e.target.value});
}
});
React.renderComponent(<Test/ > , document.body);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/react-with-addons.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/JSXTransformer.js"></script>