Ich versuche, ein einfaches Formular in Material-Ui mit Login und Passwort TextFields und einem RaisedButton, um das Formular zu senden. Was ist der beste Weg, um Ereignisse auf dem RaisedButton zu behandeln und das Formular zu senden?Formular mit Material-Ui
Antwort
Ihre beste Wette ist es, über die Verwendung von Formularen mit reagieren zu lernen, dann konvertieren Sie zu Material, sobald Sie diesen Teil haben.
ist hier ein gutes Tutorial von reagieren, dass enthält ein Formular abgeschickt:
https://facebook.github.io/react/docs/tutorial.html
Relevante Code: Funktion
Rendern - Notieren Sie sich die Event-Handler auf dem Formular
render: function() {
return (
<form className="commentForm" onSubmit={this.handleSubmit}>
<input
type="text"
placeholder="Your name"
value={this.state.author}
onChange={this.handleAuthorChange}
/>
<input
type="text"
placeholder="Say something..."
value={this.state.text}
onChange={this.handleTextChange}
/>
<input type="submit" value="Post" />
</form>
);
Und hier ist die Implementierung des Rückrufs
handleSubmit: function(e) {
e.preventDefault();
var author = this.state.author.trim();
var text = this.state.text.trim();
if (!text || !author) {
return;
}
// TODO: send request to the server
this.setState({author: '', text: ''});
},
Sie diese Probe durch Umwandlung der Eingabeelemente zu TextField-
über Material-ui umwandeln kann die coolen Features davonhttp://www.material-ui.com/#/components/text-field
und verwenden.
Alle Details, wie dies funktioniert im Tutorial
Hoffnung abgedeckt sind, das hilft - viel Glück!
Das Ereignis, das Sie suchen, ist onTouchTap
und erfordert die Installation der react-tap-event-plugin
. Die Anweisungen hierzu finden Sie oben auf der Seite unter here.
<RaisedButton label="Default" style={style} onTouchTap={yourEventHandler} />
Hoffe, das hilft.
Fügen Sie type="submit"
zu einem Material-UI-Schaltflächenelement hinzu, z. B. RaisedButton, und es funktioniert als Absenden-Schaltfläche, wenn Sie darauf klicken. Wenn das Formular abgeschickt wird, löst es das onSubmit auf dem Formular aus und das handleSubmit Callback wird ausgeführt.
class MyForm extends React.Component {
constructor() {
super();
this.state = {id: null};
}
handleChange = (event) => {
this.setState({id: event.target.value});
}
handleSubmit = (event) => {
//Make a network call somewhere
event.preventDefault();
}
render() {
return(
<form onSubmit={this.handleSubmit}>
<TextField floatingLabelText="ID Number" onChange={this.change} />
<RaisedButton label="Submit" type="submit" />
</form>
)
}
}
- 1. MaterialUI horizontale Formen
- 2. Öffnen React MaterialUI modal
- 3. Center Avatar in der Toolbar mit MaterialUI
- 4. Formular Aktion mit Javascript
- 5. Schema-Formular mit Aurelia
- 6. Django Formular mit Bootstrap
- 7. HTML-Formular mit PHP
- 8. Validieren Formular mit Dateien
- 9. Formular-Layout mit CSS
- 10. Prefill Formular mit jQuery
- 11. Javascript Formular mit "$ (this)"
- 12. Formular mit Fortschrittsbalken laden
- 13. HTML-Formular mit jQuery
- 14. Formular mit HTTPURLConnection senden
- 15. Simulieren Formular mit VB.NET
- 16. wp_insert_post mit einem Formular
- 17. Formular Variablenübereinstimmung mit Datenbanktabelle
- 18. Formular zu Formular jQuery
- 19. Update HTML-Formular mit Variablen aus dem vorherigen Formular
- 20. has_many geschachteltes Formular mit einem has_one verschachtelten Formular darin
- 21. Laravel Show Formular Fehler mit Formular Elementname als Schlüssel
- 22. Formular mit Benutzersteuerelement nicht versteckt
- 23. Zend Framework Formular mit jquery
- 24. Füllen Eingabedatei Formular mit JavaScript
- 25. jQuery AutoComplete Formular mit SQL?
- 26. Ein Formular mit jQuery senden
- 27. Jquery Validierung - mit Formular-Tag
- 28. PHP Formular mit MySQL-Datenbank
- 29. Formular handlig mit variablen Elementen
- 30. Erste Benutzer Lage mit Formular
denke ich, was das vermisst ist, dass Sie nicht nur umwandeln kann ein '' zu einem 'TextField' oder' RaisedButton'. Die Material-UI-Komponenten haben eine andere API (ich bin immer noch auf der Suche nach der genauen Antwort) – Patrick
Hey Patrick, ich könnte dies zu Material -ui umwandeln und es hochladen, wenn Sie noch suchen, LMK. –
Ich bin nicht der Fragesteller, also konnte ich Ihre Antwort nicht wählen, aber Sie haben Recht, dass Sie ' ' ausführen können und diese Prop wird durch den nativen '' gehen und funktionieren ordnungsgemäß, um ein Formular zu senden. Ich habe jetzt genau das, was in meinem Code funktioniert. In Bezug auf die tatsächliche Beantwortung der Frage, denke ich, wäre eine Material-UI-Version der Antwort wahrscheinlich technisch korrekter. –
Patrick