React学习系列六事件对象表单事件键盘事件

定义

事件对象:在触发dom上的某个事件时,会产生一个事件对象event,这个对象中包含所有与事件相关的信息

event.target 获取执行事件的dom节点

event.target.style.background='red' 改变颜色

// 获取dom的属性

event.target.getAttribute('aid')

获取表单值

1、监听表单的改变事件  onChange

2、在改变的事件里获取表单输入的值 通过事件对象获取值 e.target.value

3、把表单输入的值赋值给username this.setState({})

4、点击按钮的时候获取state里面的username  this.state.username

获取值的另一种方式 ref

1、给元素定义 ref 属性 ref="user"

2、通过 this.refs.user.value; 也可以获取到值

键盘事件

input 可以加 onKeyUp 方法 可以获取按下键

inputKeyUp =(e) =>{

console.log(e.keyCode);

         if(e.keyCode == 13){

                    alert(e.target.value);

             }

}

双向绑定

像下面这样,比较简单就实现了

附学习代码:

import React from 'react'class TestForm extends  React.Component{constructor(props){super(props);this.state = {username:"张三",sex:'2',selectCity:'',cities:["北京","上海","广州","深圳"],hobbies:[{name:"aaa",isChecked:false},{name:"bbb",isChecked:true},{name:"ccc",isChecked:true},{name:"ddd",isChecked:false}]}}inputChange = (e) =>{this.setState({username:e.target.value})}radioChange =(e) =>{this.setState({sex:e.target.value})}selectChange = (e) =>{this.setState({selectCity:e.target.value})console.log(this.state.selectCity)}checkBoxChange = (key) => {let hobbies = this.state.hobbies;hobbies[key].isChecked= !hobbies[key].isChecked;this.setState({hobbies:hobbies});// alert(key);console.log(this.state.hobbies)}render(){return({this.state.username}
普通文本框:


{this.state.hobbies.map((value,key)=>{return ({value.name})}// (item) => {// return {item.name}// })})} } export default TestForm;

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部