javascript - 使用 onClick 复制电子邮件表单

标签 javascript reactjs

我有一个表单,用户可以在其中将电子邮件地址输入到文本字段中,我需要一种存储此值的方法,然后当用户单击“添加另一封电子邮件”时,文本字段应该复制,但是我很难想出有任何想法。

  <Grid item xs={12} sm={6}>
    <TextField
      className={classes.field}
      id="contactEmails"
      name="contactEmails"
      label="Contact Email(s)"
      fullWidth
      autoComplete="lname"
      inputProps={{
        maxLength: 250
      }}
    />
  </Grid>
  <Grid item xs={12} sm={6}>
    <Button onClick={handleEmailClick} className={classes.addButton} variant='contained' color='primary'> Add Another Email</Button>
  </Grid>

最佳答案

您需要将所有电子邮件存储在一个数组

class App extends React.Component {
  constructor() {
    super();
    this.state = {
      emails: [""]
    };
  }

  handleEmail() {
    this.setState({
      emails: [...this.state.emails, '']
    });
  }

  handleChange(e, i) {
    let { emails } = this.state;
    let emailUpdate = [...emails];
    emails.splice(i, 1);

    emailUpdate[i] = e.target.value;
    this.setState({
      emails: emailUpdate
    });
  }

  render() {
    let { emails } = this.state;
    return (
      <div>
        {emails.map((v, i) => {
          return (
            <div>
              <input value={v} onChange={e => this.handleChange(e, i)} />
              <br />
            </div>
          );
        })}
        <input
          type="button"
          value="Add Another Email"
          onClick={() => this.handleEmail()}
        />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.0/umd/react-dom.production.min.js"></script>
<div id="root"></div>

关于javascript - 使用 onClick 复制电子邮件表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684557/

相关文章:

node.js - 模块构建失败: Error: Plugin 0 specified in "base" provided an invalid property of "definitions"

javascript - 在 jQuery Datatable 上获取空记录后如何隐藏加载图像

javascript - AngularJS - 将数据发布到 API 不起作用

javascript - `undefined` 事件中自定义属性的值 (Firefox)

javascript - 如何将现有的非 React-Native-Component JS 导入/需要到 React Native 组件

javascript - 如何向 react 表添加标题

javascript - Python 网络驱动程序

javascript - switch语句好像没有落空

javascript - React.JS 无法读取数组循环中的属性

reactjs - react-scrollable-anchor 无法正常工作