美文网首页
React 表单操作

React 表单操作

作者: 请叫我missp | 来源:发表于2019-07-26 18:02 被阅读0次
    表单处理多个input输入数据

    当需要处理多个 input 元素时,我们可以给每个元素添加 name 属性,并让处理函数根据 event.target.name 的值选择要执行的操作。

    class Reservation extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          isGoing: true,
          numberOfGuests: 2
        };
    
        this.handleInputChange = this.handleInputChange.bind(this);
      }
    
      handleInputChange(event) {
        const target = event.target;
        const value = target.type === 'checkbox' ? target.checked : target.value;
        const name = target.name;
    
        this.setState({
          [name]: value
        });
      }
    
      render() {
        return (
          <form>
            <label>
              参与:
              <input
                name="isGoing"
                type="checkbox"
                checked={this.state.isGoing}
                onChange={this.handleInputChange} />
            </label>
            <br />
            <label>
              来宾人数:
              <input
                name="numberOfGuests"
                type="number"
                value={this.state.numberOfGuests}
                onChange={this.handleInputChange} />
            </label>
          </form>
        );
      }
    }
    

    这里使用了 ES6 计算属性名称的语法更新给定输入名称对应的 state 值:
    例如:

    this.setState({
    [name]:value
    })
    

    相关文章

      网友评论

          本文标题:React 表单操作

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