Javascript 添加动态<;选项>;选择';除非我换场地,否则我不会出现
我希望能够动态添加组成员,我只需使用+按钮即可。问题是-它会添加提示的输入值,但除非切换字段并键入其他内容,否则我无法看到它。 以下是YouTube链接,以便更好地理解: 职能: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
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();
}