javascript - 如何在这些链接之一下输入下拉功能?
问题描述
如何在这些链接之一下输入下拉功能?`从'react'导入反应,{组件};从'react-router-dom'导入{Link};
export class Nav extends Component {
state = {
toggle: false
}
menuToggle = () =>{
this.setState({toggle: !this.state.toggle})
}
render() {
const {toggle} = this.state;
return (
<>
<ul className={toggle?"toggle" : ""}>
<li><Link to="/">Home</Link></li>
<li><Link to="/aboutus">About Us</Link></li>
<li><Link to="/events">Events</Link></li>
<li><Link to="/scholarships">Scholarships</Link></li>
<li><Link to="/makeadonation">Make A Donation</Link></li>
<li><Link to="/contactus">Contact Us</Link></li>
<li><Link to="/login">Log In</Link></li>
<li><Link to="/logintrial">Contact Us Trial</Link></li>
<li className="close" onClick={this.menuToggle}>X</li>
</ul>
<div className="menu" onClick={this.menuToggle}>Menu</div>
</>
)
}
}
export default Nav`
解决方案
您的意思是使用诸如 Material UI 的 Select 组件之类的下拉选择器,并且每个选择都会导致您的应用程序中的不同位置?
选择组件通常有一个onChange
来自 Material 示例的示例:
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
value={age}
onChange={handleChange}>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
在该onChange
方法中,您将执行一些逻辑来确定去哪里,并使用 React Router 的history
对象去那里。
获取history
对象:
const history = useHistory()
在onChange
事件处理程序中去那里:
const handleChange = (event) => {
const uri == ... use event.target.value to determine the URI to go to
history.push(uri)
};
查看以下链接:
- 材质 UI 选择 - https://material-ui.com/components/selects/
- 反应路由器历史对象 - https://reactrouter.com/web/api/history
推荐阅读
- docker - docker 容器同时关闭,重新启动失败,错误为将 max 写入 pids.max,我该如何找到问题?
- node.js - 在 nodejs 中,如何在事务中使用 async/await 而不是通过“then”来解析承诺?
- django - 在单个谷歌云应用引擎实例上部署 DjangoREST+React 项目。可能吗?
- javascript - 将图像上传到 Firebase 时 Nativescript ProgressBar 未更新(仅在 100% 后更新)
- http - 通过 HTTP 请求关注 Azure acklog 项
- python - Pandas:如果某列连续出现少于 n 次,则将 True 设置为 False
- android - 设置 shell 脚本 Android SELinux 策略以在系统启动时启动它已完成
- javascript - 优化 javascript/jquery 代码以在弹出窗口中加载表单
- create-react-app - 覆盖 CRA 基本 linting 规则
- android - Payu android sdk集成-未找到默认活动