Cet article vous apporte une introduction à l'utilisation des éléments du formulaire React (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. aide.
Aujourd'hui, nous allons parler des éléments de formulaire de réaction.
Élément contrôlé
Voyons comment obtenir la valeur de la zone de saisie
import React, { Component } from 'react'; class Trem extends React.Component { constructor(props){ super(props); this.inp = this.inp.bind(this); this.sub = this.sub.bind(this); this.state = { place:"请输入...", inputV:'' } }; inp(e){ this.setState({ inputV:e.target.value {/* 通过事件细节改变inputV的值*/} }); console.log(e.target.value) }; sub(){ console.log(this.state.inputV) }; render(){ return ( <div> <input type="text" onChange={this.inp} placeholder={this.state.place} value={this.state.inputV}/> <br/> <button onClick={this.sub}>{this.props.main}</button>{/*此处的main是来自父组件的传值*/} </div> ) } } export default Trem;
Interprétation du code :
ce .inp = this.inp.bind(this); Lier la fonction inp this pour qu'elle pointe vers
this.state Initialiser la variable
inp() Surveiller la valeur d'entrée de l'entrée
this.state.inputV Obtenez la valeur de l'entrée via l'affectation
balise textarea
import React, { Component } from 'react'; class Trem extends React.Component { constructor(props){ super(props); this.inp = this.inp.bind(this); this.sub = this.sub.bind(this); this.state = { place:"请输入...", inputV:'' } }; inp(e){ this.setState({ inputV:e.target.value }); console.log(e.target.value) }; sub(){ console.log(this.state.inputV) }; render(){ return ( <div> <textarea type="text" onChange={this.inp} placeholder={this.state.place} value={this.state.inputV}/> <br/> <button onClick={this.sub}>{this.props.main}</button> </div> ) } } export default Trem;
Boîte de sélection déroulante
import React, { Component } from 'react'; class Trem extends React.Component { constructor(props){ super(props); this.select = this.select.bind(this); this.state = { selectV:'coconut' } }; select(e){ this.setState({ selectV:e.target.value }); console.log(e.target.value) }; render(){ return ( <div> <select value={this.state.selectV} onChange={this.select}> <option value="grapefruit">Grapefruit</option> <option value="lime">Lime</option> <option value="coconut">Coconut</option> <option value="mango">Mango</option> </select> <br/> </div> ) } } export default Trem;
Interprétation du code :
Veuillez noter que l'option Noix de coco est initialement sélectionnée en raison de l'attribut sélectionné. Dans React, l'attribut sélectionné précédent n'est pas utilisé, mais l'attribut value est utilisé sur la balise de sélection racine pour représenter l'élément sélectionné. Ceci est plus pratique dans les composants contrôlés, car il vous suffit de mettre à jour le composant à un seul endroit.
En bref, ,
Solutions d'entrée multiples
Lorsque vous avez plusieurs éléments d'entrée contrôlés, vous pouvez ajouter un nom à chaque attribut d'élément pour laisser le gestionnaire choisir quoi faire en fonction sur la valeur de event.target.name.
import React,{Component} from 'react'; class More extends React.Component { constructor(props){ super(props); this.state = { isGoing: true, numberOfGuests: 2 }; this.handleInputChange = this.handleInputChange.bind(this); }; handleInputChange(event) { const target = event.target; const value = target.type === 'checkbox' ? target.checked : target.value; const name = target.name; this.setState({ [name]: value }); console.log(event.target.checked,event.target.value) }; render(){ return ( <form> <label> Is going: <input name="isGoing" type="checkbox" checked={this.state.isGoing} onChange={this.handleInputChange} /> </label> <br /> <label> Number of guests: <input name="numberOfGuests" type="number" value={this.state.numberOfGuests} onChange={this.handleInputChange} /> </label> </form> ) } } export default More;
Interprétation du code :
this.setState({ });
Syntaxe du nom d'attribut calculé es6
Adresse du code source : https://github.com/Nick091608.. .
[Recommandations associées : tutoriel vidéo React]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!