html - React - 选择元素的值不随状态变化而变化
问题描述
我正在做一个项目,在创建用户时我必须选择城市、机构和部门。当您选择城市时,您会获得该城市的机构列表,而当您选择机构时,您会获得部门。我想要实现的是当您选择另一个城市、机构和部门时重置为默认值。问题是它不起作用。
这是代码:
<select
autoComplete="off"
name="institution"
value={caregiverState.institution}
onChange={(e) => {
handleChange(e);
handleDepartmentQuery(e);
}}
>
{institutions.map((institution: IInstitution, index: number): ReactElement => {
return (
<option key={index} value={institution._id}>
{institution.name}
</option>
);
})}
<option value="" selected disabled hidden>
Select institution
</option>
</select>
这是 state 和 handleChange 方法:
const [caregiverState, setCaregiverState] = useState<ICaregiver>({
name: '',
description: '',
email: '',
city: '',
institution: '',
department: '',
role: 'caregiver',
});
const handleChange = (e): void => {
switch (e) {
case e.target.name === 'city':
return setCaregiverState({
...caregiverState,
institution: '',
department: '',
});
case e.target.name === 'institution':
return setCaregiverState({
...caregiverState,
department: '',
});
default:
return setCaregiverState({
...caregiverState,
[e.target.name]: e.target.value,
});
}
};
问题是即使我将状态更改为“”选择元素也不会将其更改为:
<option value="" selected disabled >
Select institution
</option>
我实际上是从 map()
提前致谢!
解决方案
推荐阅读
- java - 如何为 Filebeat 配置 JBoss JsonFormatter (WildFly 14)
- javascript - 如何在nodejs上为postgresql数据库编写单元测试
- cucumber - 班级
无法解析为 POM.xml 中的类型 - java - 从现在开始将 6 个月前的日期转换为字符串
- spring - Spring - 在一切之前注册 Bean
- ios - 在 Xamarin Forms iOS 中出现 ListView 之前,如何将 ListView 滚动位置设置为底部?
- c++ - 如何在多重继承中使用抽象方法
- android - java.lang.NoSuchMethodError:没有直接方法 - 迁移期间的冲突:Google Places SDK 和 Volley
- vb.net - 将 Like 函数与 CDate 函数一起使用
- ruby-on-rails - 如何将多个文件发送/上传到 Rails API?