Dies ist meine Seite Material.js in meinem Projekt und hier verwende ich Material-Komponenten-Web-Bibliothek.Ich möchte Eingabe zu animieren, die gut funktionierte. aber ich wollte zwei Eingänge mit der gleichen animation.i verwendet zwei identische div der Klasse mdc-textfield.Aber jetzt funktioniert nur 1. div mit Klasse mdc-Textfeld funktioniert gut, aber 2. zeigt keine animation.please HilfeMDC-Web funktioniert nicht wie erwartet
0
A
Antwort
0
Dies ist Weil document.querySelector (". my_class") die ersten gefundenen Elemente mit "my_class" zurückgibt. Sie können verwendet verschiedene ref Namen für die textfiels wie folgt aus:
componentDidMount() {
const textfield_email = new MDCTextfield(this.refs.textfield_email);
const textfield_name = new MDCTextfield(this.refs.textfield_name);
}
...
<label ref="textfield_email" className="mdc-textfield ">
<input name="email" className="mdc-textfield__input" onChange={this.handleChange} value={this.state.email} />
<span className="mdc-textfield__label">Email</span>
</label>
<label ref="textfield_name" className="mdc-textfield ">
<input name="name" className="mdc-textfield__input" onChange={this.handleChange} value={this.state.name} />
<span className="mdc-textfield__label">Name</span>
</label>
ich in der Regel die MDC-Komponenten wickeln in React JS-Komponenten. Hier wäre ein sehr abgespeckte Beispiel für ein Textfeld:
import React from 'react';
import { MDCTextfield } from '@material/textfield/dist/mdc.textfield';
class Textfield extends React.Component {
componentDidMount() {
const textfield = new MDCTextfield(this.refs.textfield);
}
static defaultProps = {
label: "",
className: "",
name: "",
onChange: function() {}
}
render() {
return (
<div className={this.props.className}>
{/* Text field component */}
<label ref="textfield" className="mdc-textfield " id={this.props.id} >
<input name={this.props.name} className="mdc-textfield__input" onChange={this.props.onChange} value={this.props.value} />
<span className="mdc-textfield__label">{this.props.label}</span>
</label>
</div>
);
}
}
export default Textfield
Dann wie folgt verwenden:
<Textfield onChange={this.handleChange} value={this.state.value} label="email" name="email"></Textfield>
Verwandte Themen
- 1. JUnit erwartet Tag funktioniert nicht wie erwartet
- 2. C# -Aktionsblock erwartet funktioniert nicht wie erwartet
- 3. clearTimeout funktioniert nicht wie erwartet
- 4. TagBuilder.MergeAttributes funktioniert nicht wie erwartet
- 5. isValidJSONObject funktioniert nicht wie erwartet
- 6. Programm funktioniert nicht wie erwartet
- 7. Arraylisten nicht wie erwartet funktioniert
- 8. PIDinRootline funktioniert nicht wie erwartet
- 9. wc_update_order() Funktioniert nicht wie erwartet
- 10. Dir.exist? funktioniert nicht wie erwartet
- 11. tf.reshape funktioniert nicht wie erwartet
- 12. str.replace funktioniert nicht wie erwartet
- 13. Pufferüberlauf funktioniert nicht wie erwartet
- 14. Hibernate funktioniert nicht wie erwartet
- 15. chrome.runtime.sendMessage funktioniert nicht wie erwartet
- 16. initWithNibName Funktioniert nicht wie erwartet
- 17. .uploadifySettings funktioniert nicht wie erwartet
- 18. Erreichbarkeits funktioniert nicht wie erwartet
- 19. kendo.progress funktioniert nicht wie erwartet
- 20. jQuery.inArray() funktioniert nicht wie erwartet
- 21. String.join funktioniert nicht wie erwartet
- 22. UrlEncodedFormEntity funktioniert nicht wie erwartet
- 23. file_get_contents funktioniert nicht wie erwartet
- 24. async.map funktioniert nicht wie erwartet
- 25. fancybox funktioniert nicht wie erwartet
- 26. uidoc.copy funktioniert nicht wie erwartet
- 27. event.stopPropogation funktioniert nicht wie erwartet
- 28. AnimateWithDuration funktioniert nicht wie erwartet
- 29. Mongodump funktioniert nicht wie erwartet
- 30. ValueEventListener funktioniert nicht wie erwartet