이 기사는 React 양식 요소(코드 포함)의 사용법을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
오늘은 React Form 요소에 대해 이야기해보겠습니다.
제어 요소
입력 상자의 값을 가져오는 방법을 살펴보겠습니다
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 ( dc6dce4a544fdca2df29d5ac0ea9906b 62e199ef0ab75a2a7be23da5fa1c717d 076402276aae5dbec7f672f8f4e5cc81 459c89d2db27bf5521f6ebf243005869{this.props.main}65281c5ac262bf6d81768915a4a77ac0{/*此处的main是来自父组件的传值*/} 16b28748ea4df4d9c2150843fecfba68 ) } } export default Trem;
코드 해석:
this.inp = this.inp.bind(this)를 가리키는 inp 함수를 바인딩합니다.
this.state 초기화 변수
inp() 입력의 입력값을 모니터링합니다.
this.state.inputV 할당을 통해 입력값을 가져옵니다.
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 ( dc6dce4a544fdca2df29d5ac0ea9906b 579a56a427fedd3f43e55073182d8083 076402276aae5dbec7f672f8f4e5cc81 459c89d2db27bf5521f6ebf243005869{this.props.main}65281c5ac262bf6d81768915a4a77ac0 16b28748ea4df4d9c2150843fecfba68 ) } } export default Trem;
드롭다운 선택 상자
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 ( dc6dce4a544fdca2df29d5ac0ea9906b 3b8a70dc2667e2f464d10ebbd01d4c15 5cd170ccbf19f643965dc1b11b38534fGrapefruit4afa15d3069109ac30911f04c56f3338 67b1a94f022b03f32c16ff26047dc8f5Lime4afa15d3069109ac30911f04c56f3338 6c713fef7b2c7826473712e34196e8b6Coconut4afa15d3069109ac30911f04c56f3338 7d46921a401f79981639c6e9dc841feaMango4afa15d3069109ac30911f04c56f3338 18bb6ffaf0152bbe49cd8a3620346341 076402276aae5dbec7f672f8f4e5cc81 16b28748ea4df4d9c2150843fecfba68 ) } } export default Trem;
코드 해석 :
코코넛 옵션은 원래 선택한 속성이 선택되었기 때문에 발생했다는 점을 참고하세요. React에서는 이전에 selected 속성을 사용하지 않지만, 루트 select 태그에 value 속성을 사용하여 선택한 항목을 나타냅니다. 한 곳에서만 구성 요소를 업데이트하면 되므로 제어된 구성 요소에서 더 편리합니다.
간단히 말하면 23efcc05e98690ceeb219581933e4231, 4750256ae76b6b9d804861d8f69e79d3 및 221f08282418e2996498697df914ce4e는 모두 매우 유사합니다. 모두 값 속성을 전달하여 구성 요소를 제어합니다.
다중 입력에 대한 솔루션
제어된 입력 요소가 여러 개 있는 경우 각 요소에 이름 속성을 추가하여 수행할 작업을 선택하는 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 ( ff9c23ada1bcecdd1a0fb5d5a0f18437 2e1cf0710519d5598b1f0f14c36ba674 Is going: bb9a5cf863b3be50dad45a483335a732 8c1ecd4bb896b2264e0711597d40766c ff9d32c555bb1d9133a29eb4371c1213 2e1cf0710519d5598b1f0f14c36ba674 Number of guests: 0cc06ec0576f2b965bb67af4c374cf2f 8c1ecd4bb896b2264e0711597d40766c f5a47148e367a6035fd7a2faa965022e ) } } export default More;
코드 해석:
this.setState({ });
es6 계산된 속성 이름 구문
소스 코드 주소: https://github.com/Nick091608...
[관련 권장 사항: react 비디오 튜토리얼]
위 내용은 React 양식 요소 사용 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!