【发布时间】:2020-11-26 19:13:52
【问题描述】:
我已经实现了一个表单,其中选择下拉菜单从服务器获取动态数据。
现在当我从下拉列表中选择一个选项时,它会在字段中显示值,但是在保存表单或取消保存后,当我重新打开表单时,所选值不会从字段中清除。
需要做什么来纠正它? 这是我的代码:
class Task extends Component{
constructor(props){
super(props);
this.state={
SelectedName:'',
TaskList:[],
}
}
componentWillMount(){
fetch(
...
.then(responseJson => {
let taskList=responseJson.data;
let r = taskList.map(function(task){
return {value: task.id, display: task.name}
});
this.setState({TaskList:r });
}
//this is cancelForm fucntion
cancelSave=()=>{
this.setState({SelectedName:''});
}
handleNameSelection=()=>{
var row = this.state.TaskList.filter(function (item) {
return item.value == event.target.value
})
this.setState({ SelectedName: row[0].display});
}
render(){
return(
<Select
defaultValue="placeholder-item"
id="select-task-name"
labelText="Select Task Name"
value={this.state.SelectedName}
onChange={(event) => this.handleNameSelection(event)}
>
{
(this.state.TaskList.length > 0) ?
this.state.TaskList.map(function (list, idx) {
return <option key={idx}
value={list.value}>{list.display}</option>
})
:
<option />
}
</Select>
);
}
}
【问题讨论】:
标签: javascript reactjs drop-down-menu