javascript - 为什么这个选择标签在反应中不能正常工作?
问题描述
代码 :
const Home = () => {
const location = useLocation();
const [lang, setLang] = useState((location.state === undefined)?"KorService":location.state.lang);
const tmp = (lang === "KorService")
? [//Kor Ver]
: [//Eng Ver];
...
const selectLang = (e) => {
setLang(e.target.value)
}
...
return (
<div>
<div className="header">
<h1>{tmp[0]}</h1>
<React.Fragment>
<button className="lang" onClick={openModal}>Aa</button>
<Modal open={modalOpen} close={closeModal} header={tmp[1]}>
<select className="langoption" onChange={selectLang}>
<option value="KorService">한국어</option>
<option value="EngService">English</option>
</select>
</Modal>
</React.Fragment>
</div>
...
);
};
结果 :
- 打开模态并单击英语选项:运行良好
- 在打开模式窗口的情况下选择英语选项并选择韩国选项时:效果很好
- 当 lang 是英文时,打开模式点击韩国:不工作
想 :
- 当用户单击任何选项时,它会立即运行。我想很好地解决这个问题到选定的韩国选项
解决方案
推荐阅读
- asp.net-core - 在 IIS 上的 ASP.NET Core 应用程序中将 HTTPS 站点重定向到非 www
- java - 连接 10 分钟后重置 Tomcat8 Webapp
- java - 从 Junit 和 Mockito 中的另一个公共类中为最终类方法存根
- java - 替换Java字符串中的xml特殊字符
- reactjs - Rest API 的单元测试
- ios - 如何在 iOS 中将 png 或 gif 转换为 APNG 格式?
- java - 在firebase android中使用子键获取父名
- postman - 如何创建应用程序制造商以 GET 或 POST 请求到我的 Node-red?
- java - 每小时在 50 到 60 分钟之间安排一次作业
- swift - 使用键盘快速移动视图