美文网首页
react 表单使用

react 表单使用

作者: 未来在奋斗 | 来源:发表于2019-12-19 17:31 被阅读0次

只有代码

import React ,{Fragment}from 'react'
import ReactDOM from "react-dom";
// Fragment 用来代替空标签
class Cnm extends React.Component{
    constructor(){
        super();
        this.state={
            username:'',
            sex:'男',
            isOK:false,
            fruits:["老王","老四","老六"],
            myLoves: ['Apple'],
            city:''
        }
    }
    fn1 = (e) =>{
        this.setState({
            username: e.target.value
        })

        console.log(this.state.username)
    }
    fn2 =(e) =>{
        this.setState({
            sex: e.target.value
        })
    }
    fn3=()=>{
        this.setState({
            isOK: !this.state.isOK
        })
    }
    fn4=(e)=>{
        let value = e.target.value
        let arr =[...this.state.myLoves]
        let index = arr.findIndex(item =>item ===value)
        if(index > -1){
            arr.splice(index,1)
        }else(
            arr.push(value)
        )
        this.setState({
            myLoves:arr
        })
    }
    fn5 =(e)=>{
        this.setState({
            city:e.target.value
        })
    }
    render(){
        return(
            <div>
                <h1>我的天</h1>
                <p>普通 input 框</p>
                    <input type="text" value={this.state.username}  onChange={this.fn1}/>
                <p>单选框 radio </p>
                <input type="radio" value='男' name='sex'
                 checked={this.state.sex==='男'} 
                 onChange={this.fn2}
                 /> 男
                <input type="radio" value='女' name='sex' 
                 checked={this.state.sex==='女'} onChange={this.fn2} /> 女

                 <p>单个多选框 checkbox</p>
                 <input type="checkbox" checked={this.state.isOK} onChange={this.fn3} /> 选我选我

                <p>多个多选框 checkbox</p>
                {
                    this.state.fruits.map((item,index)=>{
                        return(
                            <Fragment key={index}>
                                <input type="checkbox"
                                value={item}
                                checked={this.state.myLoves.indexOf(item)> -1}
                                onChange={this.fn4}
                                />
                                {item}
                            </Fragment>
                        )
                    })
                }

                <p>下拉选择框 select</p>
                <select name="" value={this.state.city} onChange={this.fn5} >
                    <option value="" disabled>请选择</option>
                    {
                        this.state.fruits.map((item,index) =>{
                            return(
                            <option value={item} key={index}>{item}</option>
                            )
                        } )
                    }
                </select>
            </div>

        )
    }
}

ReactDOM.render(<Cnm>wo d tian a </Cnm>,document.getElementById('root'));

相关文章

  • 对ant-design表单之再次认识

    本次写的是自己使用react的form表单的一些认识和使用总结。 1.react表单的不外乎是输入框、单选框、复选...

  • Formik --- 一个 React 表单库

    Formik 受控表单库 最近使用antd Form 有点痛苦,看到 React 官网推荐了 Formik 表单库...

  • React 初探之 受控组件 VS 非受控组件

    概述 React 中的受控组件和非受控组件都是针对于表单数据而言的。React 推荐使用受控组件来处理表单数据。 ...

  • react使用antd表单

    引用form是第三方插件ant插件,官网网址:https://ant.design/。用到的antd的版本是@2....

  • React进阶笔记4(非受控组件)

    在大多数情况下,我们推荐使用 受控组件 来实现表单。在受控组件中,表单的数据通过React数据来处理,如果让表单数...

  • react 表单之单向绑定

    react 不能像vue一样,不能使用双向绑定,只能使用单向绑定 单向 表单 绑定事件 onChange

  • 5-React 组件之表单与受控非受控组件

    React.js [TOC] 表单 在 React 里, HTML 表单元素的工作方式和其他的 DOM ...

  • React学习笔记_03

    React 表单处理 表单受控组件 html中的表单元素是可输入的,也就是有自己的可变状态 React中可变状态通...

  • 八. React的表单(Forms)

    如果希望React的表单和HML表单的默认行为不一致,需要使用到一种称为“受控组件(Controlled Comp...

  • React 的几个注意点

    受控组件和无状态组件 非受控组件推荐使用受控组件来实现表单. 在受控组件中, 表单数据是有React组件处理如果让...

网友评论

      本文标题:react 表单使用

      本文链接:https://www.haomeiwen.com/subject/sqminctx.html