代码之家  ›  专栏  ›  技术社区  ›  JChao

reactjs-想要创建一个“添加”按钮,为输入添加一个新行

  •  0
  • JChao  · 技术社区  · 7 年前

    我想先创建一个包含3行用户输入的页面。看起来像

    电子邮件角色组

    [文本输入][下拉列表][下拉列表]

    [文本输入][下拉列表][下拉列表]

    [文本输入][下拉列表][下拉列表]

    其中文本输入将是用户添加电子邮件的输入字段。下拉列表只是一个下拉框

    我想创建一个按钮,可以添加另一行这个。到目前为止,每一排都是一排 NewUser 看起来像

    <div className='new-user'>
        <label className="email-input">
            <input type="text" name="email"/>
        </label>
        <Dropdown className='dropdown' options={roles} onChange={this._onSelect} value={defaultRoleOption} placeholder="Select a role"/>
        <Dropdown className='dropdown' options={groups} onChange={this._onSelect} value={defaultGroupOption} placeholder="Select a group"/>
    </div>
    

    roles & groups 是数组吗

    我不知道最好的方法是什么。我可以创造一个 rowNum 我可以储存在里面 state ,然后每次我点击这个按钮,它都会增加这个数字,但我不知道如何根据这个数字生成#行。

    或者有更好的方法?

    1 回复  |  直到 7 年前
        1
  •  0
  •   JChao    7 年前

    没关系,我明白了。

    let rowNum=3;
    let newUserList = [];
    for (let i=0; i<this.state.rowNum; i++) {
                newUserList.push(<NewUser roles={this.state.roles} datasets={this.state.datasets}/>);
            }
    return (
          <div>
                {newUserList}
          </div>
    
        );
    

    这很管用。但它不是比使用更有效吗 map ?