react笔记 8-19 事件对象、获取dom元素、双向绑定

本文主要是介绍react笔记 8-19 事件对象、获取dom元素、双向绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、事件对象event

通过事件的event对象获取它的dom元素

run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid")            //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{this.state.msg}</h2><br/><button aid='123' onClick={this.run}>事件对象</button></div>)}

2、表单事件、获取input的值

第一种方式OnChange

    constructor(props) {super(props)this.state = {msg:'我是一个home组件'}}inputChange=(event)=>{this.setState({msg:event.target.value     //通过事件对象的value获取值})}render() {return (<div><h2>{this.state.msg}</h2><br/><input type="text" name="" onChange={this.inputChange}></input></div>)}

第二种方式 ref //ref在vue中也有 不过写法不同

    inputChange = () => {let val = this.refs.username.valuethis.setState({msg:val})}render() {return (<div><h2>{this.state.msg}</h2><input ref="username" type="text"  name="" onChange={this.inputChange}></input></div>);}

3、键盘事件

    inputKeyUp = (e) => {if(e.keyCode === 13){this.setState({msg: e.target.value})}}render() {return (<div><h2>{this.state.msg}</h2><input ref="username" type="text"  name="" onKeyUp={this.inputKeyUp}</input></div> //另有keyDowm等等);}

4、实现双向数据绑定

通过change事件实现数据改变影响视图  视图改变影响数据即可 //module改变会自动影响视图

 constructor(props) {super(props)this.state = {msg: null}}inputChange = (e) => {this.setState({msg:e.target.value})}render() {return (<div><h2>{this.state.msg}</h2><input  type="text"  name="" onChange={this.inputChange} value={this.state.msg}></input></div>);}

这篇关于react笔记 8-19 事件对象、获取dom元素、双向绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147990

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情