• react各种表单的写法


    react表单的写法
    import React, { Component } from 'react'
    
    export default class two extends Component {
        state = {
            value: "123",
            inputValue: "1234",
            checkData: [],
            radioData: "",
            selectData: ""
        }
        // input文本框
        handleChange = (e) => {
            this.setState({
                inputValue: e.target.value
            })
        }
        // 单选框
        radioChange = (event) => {
            console.log(event.target.value)
            this.setState({
                radioData: event.target.value
            });
        }
        // 多选框
        checkChange = (e) => {
            console.log(e.target.value)
            let item = e.target.value;
            let items = this.state.checkData.slice()
            let index = items.indexOf(item);
            index === -1 ? items.push(item) : items.splice(index, 1);
            this.setState({ checkData: items });
            console.log(items)
        }
        // 下拉列表
        SelectChange = (e) => { // 选择
            this.setState({
                selectData: e.target.value
            })
        }
        handleSubmit = (e) => {
                alert('你提交的内容为' + JSON.stringify(this.state));
                e.preventDefault(); // 阻止默认行为,在提交之前需要验证的时候先拦截一下
        }
        render() {
            return (
                <div>
                    <form onSubmit={this.handleSubmit}>
                        <label>文本框: <input value={this.state.value} onChange={(e) => { this.setState({ value: e.target.value }) }}></input></label><br />
                        <label>文本框: <input value={this.state.inputValue} onChange={this.handleChange}></input></label><br />
                        <label>单选框: <input type="radio" name='gender' value="Man"
                            onChange={this.radioChange} />男
                        <input type="radio" name='gender' value="Men"
                                onChange={this.radioChange} />女</label><br />
                        <label>爱吃的水果:<input type="checkbox" name="fruit" value="apple"
                            onChange={this.checkChange} />apple</label>
                        <input type="checkbox" name="fruit" value="banana"
                            onChange={this.checkChange} />banana
                    <input type="checkbox" name="fruit" value="pear"
                            onChange={this.checkChange} />pear
                        <label>你喜欢的水果是:</label>
                        <select onChange={this.SelectChange}>
                            <option value="未选择">请选择</option>
                            <option value="apple">apple</option>
                            <option value="banana">banana</option>
                            <option value="pear">pear</option>
                            <option value="orange">orange</option>
                        </select>
                        <input type="submit" value="提交" />
                    </form>
                </div>
            )
        }
    }
    
    
  • 相关阅读:
    jieba分词
    hue审计记录-记录用户的查询记录(用户前端删除,后端也不会删除)
    nginx1.16.1平滑升级到1.18
    mysql5.7.24升级到5.7.30 rpm部署模式 redhat7
    ldap无法启动 system library:fopen:Permission denied bss_file.c:402
    hive练习-行列转换 窗口函数
    linkis重编译适配cdh
    redhat7 安装mysql5.15
    hive 自动加载分区 --动态分区
    最近搞了个客户端
  • 原文地址:https://www.cnblogs.com/cupid10/p/14145075.html
Copyright © 2020-2023  润新知