Javascript 添加动态<;选项>;选择';除非我换场地,否则我不会出现

Javascript 添加动态<;选项>;选择';除非我换场地,否则我不会出现,javascript,html,reactjs,Javascript,Html,Reactjs,我希望能够动态添加组成员,我只需使用+按钮即可。问题是-它会添加提示的输入值,但除非切换字段并键入其他内容,否则我无法看到它。 以下是YouTube链接,以便更好地理解: 职能: addMember = (e) => { let input = prompt("Enter the name"); this.state.members.push({member:input}); e.preventDefault(); } 映射功能: let members

我希望能够动态添加组成员,我只需使用+按钮即可。问题是-它会添加提示的输入值,但除非切换字段并键入其他内容,否则我无法看到它。 以下是YouTube链接,以便更好地理解:

职能:

  addMember = (e) => {
    let input = prompt("Enter the name");
    this.state.members.push({member:input});
    e.preventDefault();
  }
映射功能:

let members = this.state.members.map((member,index)=>{
          return <option value={member.member} key={index}>{member.member}</option>
        })
let members=this.state.members.map((成员,索引)=>{
返回{member.member}
})
选择字段:

<select id="groupMember" onChange={this.changeMember} name="member" required>
  <option defaultValue="" selected disabled>Select group member</option>
 {members}
</select>

选择组成员
{成员}
试试这个:

  addMember = (e) => {
    let input = prompt("Enter the name");
    let newMemberList = this.state.members;
    newMemberList.push(input);
    this.setState({ members: newMemberList });
    e.preventDefault();
  }

谢谢大家!!已找到解决方案:

addMember = (e) => {
    let input = prompt("Enter the name");
    let members = this.state.members;
    members.push({member:input})
    e.preventDefault();
    this.setState({
      ...this.state,
      members
    }) 

在以后的React版本中,推荐的方法如下所示:

addMember = (e) => {
    let input = prompt("Enter the name");
    this.setState(prevState => ({
        members: [...prevState.members, input]
    }))
    e.preventDefault();
}

尝试在
addMember
中使用
setState
方法,而不是直接修改状态。支持提供显示确切问题的视频。
addMember = (e) => {
    let input = prompt("Enter the name");
    let members = this.state.members;
    members.push({member:input})
    e.preventDefault();
    this.setState({
      ...this.state,
      members
    }) 
addMember = (e) => {
    let input = prompt("Enter the name");
    this.setState(prevState => ({
        members: [...prevState.members, input]
    }))
    e.preventDefault();
}