反应表单与事件

本章节我们将讨论如何在React中使用表单。

HTML表单元素与React中的其他DOM元素有所不同,因为表单元素生来就保留了一些内部状态。

在HTML当中,像<input>,<textarea>,和<select>类别表单元素会维持自身状态,并根据用户输入进行更新。但在React中,可变的状态通常保存在组件的状态属性中,并且只能使用setState()方法进行更新。

一个简单的实例

在实例中我们设置了输入框value = {this.state.data}。在输入框值发生变化时我们可以更新状态。我们可以使用onChangeEvent来监听输入的变化,并修改状态。

类HelloMessage扩展了React 。组件{构造函数(道具){超级(道具);这个。状态= {值:'您好,Runoob!' } ;这个。handleChange =此。handleChange 。绑定(这个);} handleChange (事件){这个。    setState ({值:事件。目标。值} );} render (){ var value = this 。状态。价值;返回< div > <输入类型= “文本” value = { value } onChange = { this 。handleChange } /> < h4> { value } </ h4 > </ div >;} } ReactDOM 。渲染(< HelloMessage />,文档。的getElementById ('例如' ));

您好Runoob!的输入元素,并通过onChange事件响应更新用户输入的值。

实例2

在以下实例中我们将为大家演示如何在子组件上使用表单。 的onChange方法将触发状态的更新并将更新的值传递到子组件的输入框的上来重新渲染界面。

你需要在父组件通过创建事件句柄(handleChange),并作为prop(updateStateProp)传递到你的子组件上。

类Content扩展了React 。组件{ render (){ return   < div > < input type = “ text ” value = {此。道具。myDataProp } onChange = {此。道具。updateStateProp } /> < h4 > {此。道具。myDataProp } </    h4 > </ div >;} }类HelloMessage延伸阵营。组件{构造函数(道具){超级(道具);这个。状态= {值:'您好,Runoob!' } ;这个。handleChange =此。handleChange 。绑定(这个);}handleChange (事件){这个。setState ({值:事件。目标。值} );} render (){ var value = this 。状态。价值;返回< div > <内容myDataProp = {值} updateStateProp = {此。handleChange } > </ Content > </ div >;} } ReactDOM 。渲染(< HelloMessage />,文档。的getElementById ('例如' ));

选择下拉菜单

在React中,不使用selected属性,而在根select标签上用value属性来表示放置项。

多个表格

当您有处理多个输入元素时,您可以通过给每个元素添加一个名称属性,来让处理函数根据event.target.name的值来选择做什么。

反应事件

以下实例演示通过onClick事件来修改数据:

当您需要从子组件中更新父组件的状态时,您需要在父组件通过创建事件句柄(handleChange),并作为prop(updateStateProp)传递到您的子组件上。实例如下:

前端培训

layedit 内容变化事件_React反应表单与事件相关推荐

  1. React 表单与事件

    一个简单的实例 在实例中我们设置了输入框 input 值value = {this.state.data}.在输入框值发生变化时我们可以更新 state.我们可以使用 onChange 事件来监听 i ...

  2. 02.Vue3 基础语法:常用语法、列表渲染、事件绑定和表单双向绑定

    Vue3 基础语法 1. Vue 中应用和组件的基础概念 createApp createApp 表示创建一个 Vue 应用,存储在 app 变量中. 传入的参数表示,这个应用最外层的组件,应该如何展 ...

  3. 事件绑定(onsubmit)表单提交

    事件绑定(onsubmit)表单提交 学习路线:JavaScript基础语法(输出语句)->JavaScript基础语法(变量)->JavaScript基础语法(数据类型)->Jav ...

  4. JavaScript基础(九)form表单、事件、3D

    form表单.事件.3D form表单 form表单操作 event事件对象 案例 事件冒泡 事件的绑定与解绑 键盘事件 默认事件 面试题 选项卡 javascript实现 jQuery实现 3D 3 ...

  5. vue监控表单输入事件,正则验证手机号,邮箱

    vue监控表单输入事件,正则验证手机号,邮箱 <div class="input-name"><inputclass="input-type" ...

  6. js form表单onsubmit事件用法详解

    onsubmit事件是当表单提交时进行相关js操作的一个事件.(但是有疑问) onsubmit 事件会在表单中的确认按钮被点击时发生.当该事件触发的函数中返回false时,表单就不会被提交. 请看下面 ...

  7. Vue的常用指令(v-html {{}}文本插值,v-bind绑定属性,v-if条件渲染,v-for列表渲染,v-on @ 事件绑定,v-model表单绑定)

    Vue的常用指令(文本插值,绑定属性,条件渲染,列表渲染,事件绑定,表单绑定) Vue 的介绍 Vue 是一套构建用户界面的渐进式前端框架. 只关注视图层,并且非常容易学习,还可以很方便的与其它库或已 ...

  8. SharePoint 使用脚本为表单绑定事件

    在SharePoint的使用过程中,我们经常需要为表单页面做一些特殊处理,比如说新建页面的时候有多选项的字段,但是只能选择指定数量的选项,尤其在新闻列表或者调查列表等特殊场景中,广泛使用. 下面,我们 ...

  9. js 之for..in、表单及事件触发

    <html ><body> <script type="text/javascript">var x;var mycars=new Array( ...

  10. JS对象迭代、事件处理器、表单控件绑定、表单复选框、表单单选按钮

    JS对象迭代 知识点 v-for v-for 循环JS对象,把对象内容循环显示到页面上. <div id="myApp"><h1>JS对象迭代</h1 ...

最新文章

  1. MySQL 数据库常用命令
  2. c语言中空格字符怎么表示_漫画:腾讯面试题,请实现把字符串中的空格替换为“%20”...
  3. leetcode 787. Cheapest Flights Within K Stops | 787. K 站中转内最便宜的航班(BFS)
  4. 哪个银行的大额存款门槛最低?5万能买大额存单吗?
  5. 正面管教php_中联重科团委快乐父母协会第五期正面管教家长基础班招募!
  6. NoSQL数据库介绍
  7. 中国管道内检测市场现状调研与投资预测分析报告2022-2028年
  8. 自学C语言的步骤--菜鸟篇
  9. snyk 项目漏洞检测
  10. 这些行业已经开始用数据挖掘了,我们的前途光明
  11. 工作日常记录:整数有符号数除以无符号数的那些事
  12. docker:IPv4 forwarding is disabled. Networking will not work. 解决方法
  13. JAVA常用工具类-【5】FFMPEG转换、分割、合并音频
  14. 6、13iOS项目代码例子微博、地图、淘宝、豆瓣、指南针
  15. 百度 android 市场占有率,百度数据:11Q1中国Android手机市场研究
  16. Android-activity堆栈及管理
  17. java的万里长征之第一步
  18. CDH6.3.2离线安装教程——超级详细版-附带安装包地址
  19. win10的F1直接打开浏览器的解决方法
  20. win10驱动不起来设备 每次新设备插入后都得先禁用那个设备,再启用才能识别并使用

热门文章

  1. unity中程序的延时
  2. Atitit 项目wechat微信截屏生成vcf通讯录384 个 384个人 42个节拍,平均每个8个人 技术点 im图像裁剪, ocr Tesseract Vcf格式 /wechatTel
  3. Atitit 大数据索引技术attilax总结 目录 1. 面临的问题 2 1.1. 找到太多数据 2 1.2. 不支持多字段搜索 2 1.3. 不支持模糊搜索 2 1.4. 聚合搜索 2 1.5
  4. paip输入法编程之生活用高频字,以及汉字分级
  5. paip.提升程序稳定性---最佳实践
  6. 灾备行业最全常用术语
  7. linux: tee日志记入文件
  8. 英世曼 | 动量是否具有行为性?
  9. Rust: flat_map、filter_map、for_each
  10. Rust: codewars 的Duplicate Encoder