好客租房36-表单处理(3受控组件的示例)

简介: 好客租房36-表单处理(3受控组件的示例)

实例

1文本框 富文本框下拉框

2复选框

//导入react

import React from 'react'


import ReactDOM from 'react-dom'

//导入组件


// 约定1:类组件必须以大写字母开头


// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性


// 约定3:组件必须提供render方法


// 约定4:render方法必须有返回值

class HelloWorld extends React.Component {
     //初始化state
     state = {
         text: '1',
         value:"2",
         select:"nan",
         checked:true
     }
     handleChange = (e) => {
         this.setState({
             txt: e.target.value,
         })
     }
     handleChangeValue = (e) => {
         this.setState({
             value: e.target.value,
         })
     }
     handleChangeSelect = (e) => {
         this.setState({
             value: e.target.select,
         })
     }
     handleChangeCheck = (e) => {
         this.setState({
             checked: e.target.checked,
         })
     }
     //抽离出来 this报错 事件处理中的this为underfine
     render() {
         return (
             <div>
                 <input
                     type="text"
                     value={this.state.text}
                     onChange={this.handleChange}
                 />
                 <textarea onChange={this.handleChangeValue} value={this.state.value}></textarea>
                 <select onChange={this.handleChangeSelect} value={this.state.select}>
                     <option value="nan">男</option>
                     <option value="nv">女</option>
                 </select>
                 <input
                     type="checkbox"
                     checked={this.state.checked}
                     onChange={this.handleChangeCheck}
                 />
             </div>
         )
     }
 }
 ReactDOM.render(<HelloWorld />, document.getElementById('root'))

运行结果

image.png

相关文章
|
12月前
|
JavaScript 开发工具
vite如何打包vue3插件为JSSDK
【9月更文挑战第10天】以下是使用 Vite 打包 Vue 3 插件为 JS SDK 的步骤:首先通过 `npm init vite-plugin-sdk --template vue` 创建 Vue 3 项目并进入项目目录 `cd vite-plugin-sdk`。接着,在 `src` 目录下创建插件文件(如 `myPlugin.js`),并在 `main.js` 中引入和使用该插件。然后,修改 `vite.config.js` 文件以配置打包选项。最后,运行 `npm run build` 进行打包,生成的 `my-plugin-sdk.js` 即为 JS SDK,可在其他项目中引入使用。
518 6
|
机器学习/深度学习 传感器 数据采集
【BP回归预测】基于BP神经网络的回归预测附matlab完整代码
【BP回归预测】基于BP神经网络的回归预测附matlab完整代码
|
SQL 关系型数据库 MySQL
mysql面试之分库分表总结
mysql面试之分库分表总结
178 0
|
机器学习/深度学习 分布式计算 数据可视化
使用Python进行大规模数据处理和分析
总而言之,Python作为一种强大而灵活的编程语言,在大规模数据处理和分析领域有着广泛的应用。通过不断学习和探索,我们可以充分发挥Python的潜力,为解决现实世界的数据挑战做出更大的贡献。让我们继续深入学习、探索和创造,在数据科学的道路上不断前行!
|
11月前
|
存储 算法
【数据结构】新篇章 -- 顺序表
【数据结构】新篇章 -- 顺序表
85 0
|
存储 SQL NoSQL
案例实践:某券商从 Neo4j 迁移至悦数图数据库
许多国内企业在早期使用 Neo4j 作为图相关业务场景的探索基础设施。然而,随着业务发展和环境变化,原有的图数据库已经逐渐无法满足不断发展的特定业务场景需求。如何将 Neo4j 迁移到一款兼具良好扩展性、性能、专业服务能力的图产品,已成为业界普遍关心的问题。本文将为您呈现华东某大型券商从 Neo4j 迁移至悦数图数据库的选型、迁移和提升能力的完整历程,供广大企业参考。
案例实践:某券商从 Neo4j 迁移至悦数图数据库
|
缓存 API 流计算
[实时流基础 flink] 窗口函数
[实时流基础 flink] 窗口函数
301 2
|
消息中间件 存储 RocketMQ
大白话-设计RocketMQ延迟消息
RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。
|
数据可视化 API 开发工具
详细解读cesi+supervisor可视化集中管理服务器节点进程
详细解读cesi+supervisor可视化集中管理服务器节点进程
133 0
|
XML Java 关系型数据库
Spring 项目快速整合 Hibernate
前言 Hibernate 作为前些年广为流行的 ORM 框架,Spring 在诞生之初也进行了支持,并且抽象出一个 spring-orm 模块。
578 0

热门文章

最新文章