5.React表单事件、ref获取dom节点等介绍

一、表单事件

1.监听表单的改变事件 onChange
2.在改变的事件里面获取表单输入的值 事件对象
3.把表单输入的值赋值给username this.setState({})
4.点击按钮的时候 获取state里面的username的值 this.state.username

<input type="text" onChange={this.inputChange}/><button onClick={this.getInput}>获取input的值</button>
  • 获取表单的值
 inputChange=(e)=>{
        // console.log('111');
        // 获取表单的值
        // console.log(e.target.value);
        this.setState({
            username:e.target.value
        }) 
    }
    getInput=()=>{
        alert(this.state.username)
    }
  • 效果展示


    7861972-43eeed531065962e.png
    效果展示

二、ref获取dom节点

  • 1.给元素定义ref属性
<input ref="username" type="text" onChange={this.inputChange}/><button onClick={this.getInput}>获取input的值</button>
  • 2.通过this.refs.username 获取dom节点
  inputChange=()=>{
        let val = this.refs.username.value
        this.setState({
            username:val
        })
    }
    getInput=()=>{
        alert(this.state.username)
    }

三、键盘事件

  • 键盘事件
<input type="text" onKeyUp={this.inputKeyup}/>
  • 键盘事件执行方法
inputKeyup=(e)=>{
        // console.log(e.keyCode)
        if(e.keyCode == 13){
            alert(e.target.value)
        }    
    }

四、类似VUE数据绑定

  • model改变影响view view改变影响model
<input value={this.state.username} onChange={this.inputChange}/>
 <p>{this.state.username}</p>
 <button onClick={this.setUsername}>改变username的值</button>
  • 方法
inputChange=(e)=>{
        this.setState({
            username:e.target.value
        })
    }
    setUsername=()=>{
        this.setState({
            username:'大古'
        })
    }
  • 效果展示


    7861972-e250201290cbab3c.png
    改变前

    7861972-11823afa6f8a7565.png
    改变后

    好了,今天的分享就到这里了!
    愿你三冬暖,愿你春不寒;愿你天黑有灯,下雨有伞。


    7861972-c15692bc3ce6fc3a.jpg
    小晴天
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值