Javascript React填充输入字段中的下拉列表

Javascript React填充输入字段中的下拉列表,javascript,reactjs,input,dropdown,Javascript,Reactjs,Input,Dropdown,我有一个简单的React应用程序,当你点击一个按钮时,它允许你创建多个“故事”组件。每个“故事”有两个组成部分:一个输入字段(编辑故事标题)和一个下拉列表(显示所有其他故事标题) 我试图让故事下拉列表填充所有的故事标题(目前它们被硬编码到一个名为storyOptions的状态数组) 最终的想法是-用户创建新故事>用户更新故事标题>用户从下拉列表中选择要链接到的另一个故事(下拉列表显示所有其他故事的标题) 我当前的代码如下 类应用程序扩展组件{ 建造师(道具){ 超级(道具); this.sto

我有一个简单的React应用程序,当你点击一个按钮时,它允许你创建多个“故事”组件。每个“故事”有两个组成部分:一个输入字段(编辑故事标题)和一个下拉列表(显示所有其他故事标题)

我试图让故事下拉列表填充所有的故事标题(目前它们被硬编码到一个名为storyOptions的状态数组)

最终的想法是-用户创建新故事>用户更新故事标题>用户从下拉列表中选择要链接到的另一个故事(下拉列表显示所有其他故事的标题)

我当前的代码如下

类应用程序扩展组件{
建造师(道具){
超级(道具);
this.storyList=[];
this.state={storys:this.storyList};
}
addNewStory(e){
这个是.storyList.push({
id:this.storyList.length,
标题:“在此处键入您的故事标题”,
});
this.setState({storys:this.storyList});
}
render(){
返回(
this.addNewStory()}>
“添加新故事”
{this.state.storys.map(c=>)}
);
}

}
最后终于明白了。诀窍是将标题存储为应用程序中的数组,然后将标题作为道具传递给StoryComponent中的下拉列表和输入字段

handleTitleChange(e) {
    console.log("Title is being updated");
    this.setState({title: e.target.value});
}
改为

handleTitleChange(e) {
    console.log("Title is being updated");
    this.props.onQuestionUpdate(e); // pass the value back up to App.
}
我现在有一个应用程序里面

private onQuestionUpdate(e:any) {
    let storys = this.state.storys;
    storys[Number(e.target.id)] = e.target.value;
    this.setState({storys: storys});
}

是否要从服务器获取下拉列表值?不是通过服务器,而是从所有故事标题中填充下拉列表。i、 e StoryComponent中的this.storyOptions实际上是基于每个故事标题生成的(故事的数量取决于用户添加的数量)。因此,您的故事选项将是您的故事标题?是的!每次我添加一个新的StoryComponent时,下拉列表应该会增加(从新的StoryComponent添加故事标题),尝试将
故事作为道具传递给StoryComponent,并将该道具设置为下拉组件中的选项