首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用react参参和形式

使用react参参和形式
EN

Stack Overflow用户
提问于 2021-12-26 09:58:34
回答 1查看 1.9K关注 0票数 0

表单接受名字和姓氏的输入。任务是使用参考文献和回调参考文献显示全名。单击submit后,我将得到一个错误。在这里附加密码。帮我找出什么是错误。

代码语言:javascript
复制
import React from 'react';
import './style.css';

export default class App extends React.Component {
  constructor() {
    super();
    this.setName = (ele) => {
      this.name = ele;
    };
    this.setLast = (ele) => {
      this.last = ele;
    };
    this.setDisp = (ele) => {
      this.disp = ele;
    };
  }
  // handleInputChange = (e, name) => {
  //   this.setState({
  //    [name]: e.target.value
  //  })
  // }

  handleSubmit = (e) => {
    e.preventDefault();
    var f = this.name.value;
    var l = this.last.value;
    var fullname = f + ' ' + l;
    this.disp.innerHTML = fullname;
  };

  render() {
    return (
      <div>
        <form onSubmit={this.handleSubmit}>
          <input type="text" ref={this.setName} placeholder="First name" />
          <br />
          <br />
          <input type="text" ref={this.setLame} placeholder="Last name" />
          <br />
          <br />
          <input type="submit" value="Full name" />
        </form>
        <h3 ref={this.disp}></h3>
      </div>
    );
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-12-26 11:15:27

您需要创建三个变量并使用createRef创建对dom元素的引用:

代码语言:javascript
复制
import React, { createRef } from "react";

export default class App extends React.Component {
  name = null;
  last = null;
  disp = null;

  constructor() {
    super();
    this.setName = (ele) => {
      this.name = ele;
    };
    this.setLast = (ele) => {
      this.last = ele;
    };
    this.setDisp = (ele) => {
      this.disp = ele;
    };
    this.name = createRef();
    this.last = createRef();
    this.disp = createRef();
  }
  // handleInputChange = (e, name) => {
  //   this.setState({
  //    [name]: e.target.value
  //  })
  // }

  handleSubmit = (e) => {
    e.preventDefault();
    var f = this.name.current.value;
    var l = this.last.current.value;
    var fullname = f + " " + l;
    this.disp.current.innerHTML = fullname;
  };

  render() {
    return (
      <div>
        <form onSubmit={this.handleSubmit}>
          <input type="text" ref={this.name} placeholder="First name" />
          <br />
          <br />
          <input type="text" ref={this.last} placeholder="Last name" />
          <br />
          <br />
          <input type="submit" value="Full name" />
        </form>
        <h3 ref={this.disp}></h3>
      </div>
    );
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70485566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档