zoukankan      html  css  js  c++  java
  • react中获取输入框中值的两种方式——受控组件和非受控组件

    import React, {Component} from 'react';
    
    class Home extends Component {
        constructor(props) {
            super(props)
            this.state = {
                value: ''
            }
            this.input = React.createRef() // 需要在构造器中调用后才可以获取到该节点的值(非受控组件)
            this.lookInput = this.lookInput.bind(this)
        }
      
        changeValue = (event)=>{
            console.log(event.target.value)
            this.setState({
                value: event.target.value // 想双向绑定,改变输入框中的值时必须使用this.setState的方式
            })
        }
        geiInput() {
            return <input type="text" value={this.state.value} onChange={this.changeValue} /> // 通过绑定this.state中的值来获取,受控组件
        }
        lookInput() {
            console.log(this.input)
        
     console.log(this.refs.username.value) // 直接取相关节点的值
      }
        render() {
            return (
                <div>
                    <h3>受控组件</h3>
                    {this.geiInput()}
                    <br/>
                    <h3>非受控组件</h3>
                    <input type="text" ref={this.input}/> // 通过ref的方式来获取,即获取该节点(非受控组件)
                    <button onClick={this.lookInput}>提交查看输入框的值</button>
                  <input type="text" ref="username" /> // 非受控组件取值的第二种方式
             <input type="text" defaultValue="" /> // 不需双向绑定时
     
    </div>  ) } } export default Home 
  • 相关阅读:
    WPF获取分辨率2
    怎样将UNIX Shell作为Concurrent Program来运行
    转 FRM40654 Record has been updated Requery block to see change
    各模组相关interface
    EBS 表后缀的含义
    Oracle Form開發Form消息提示
    EBS多组织(OU
    EBS 开发基础知识
    FORM:在不同窗口中传递参数
    AR 金额计算
  • 原文地址:https://www.cnblogs.com/cazj/p/11107233.html
Copyright © 2011-2022 走看看