javascript - 渲染组件后如何手动更改“选择”的值
问题描述
我已将 Select 的值设置为本地状态变量。子组件更新该状态更改。但下拉菜单将无法更改所选值。请有人检查下面的代码并纠正我。谢谢
父组件
class EditVehicle extends Component {
constructor(props) {
super(props);
this.state = {
values: {
vehicleOwner: '',
},
}
}
setVehicleOwner = (owner) => {
console.log(owner);
this.setState({ vehicleOwner: owner._id });
};
render() {
const { values } = this.state;
return (
......
<FormControl className={classes.formControl} >
<Select
value={this.state.values.vehicleOwner}
onChange={this.handleChange}
inputProps={{
name: 'vehicleOwner',
id: 'vehicleOwner',
}}>
{this.props.vehicleOwnersList && this.props.vehicleOwnersList.map((owner, index) => (
<MenuItem value={owner._id} key={index}>{owner.firstName} {owner.lastName}</MenuItem>
))}
</Select>
<Tooltip title="New Vehicle Owner">
<IconButton className={classes.button} aria-label="New Vehicle Owner" color="primary" onClick={this.handleOpenOwnerCreateModal}>
<AddIcon />
</IconButton>
</Tooltip>
</FormControl>
......
<Modal
aria-labelledby="simple-modal-title"
aria-describedby="simple-modal-description"
open={this.state.openOwnerCreateModal}
className={classes.modal}
onClose={this.handleCloseOwnerCreateModal}>
<NewVehicleOwnerModal
set={this.setVehicleOwner}
selected={null}
action={this.handleCloseOwnerCreateModal} />
</Modal>
);
}
}
解决方案
推荐阅读
- php - 如何在 php 中的子项数组中搜索?
- python - 如何通过交叉验证使用数据增强
- c - 为什么不允许在全局(文件)范围内初始化结构成员,但在函数内部可以这样做?
- python - 限制图中条形图的数量
- javascript - JavaScript 中止任务,如果它花费超过 xxx 秒
- javascript - 如何在 JavaScript 中操作数组中所有特定字符串值的每个实例?
- python - 如果单元格值小于指定值,则将数据框中的单元格乘以常数
- google-cloud-firestore - 在 vuejs 中使用 v-switch 和在组件中使用 firebase 对象,如何在 v-switch 中显示来自 firebase 的值
- python - ValueError:使用数据张量作为模型的输入时
- spring-cloud-stream - Spring Cloud Stream Kafka 异常处理