ind*_*jsx 3 reactjs material-ui gatsby
我可以提到向上和向下箭头键移动选择,这让我相信它以某种方式被标签化。
有一个 material-ui Menu 组件,它具有封装 MenuItems 组件的 Gatsby Link 组件。我删除了不相关的代码。
class NavBarDesktop extends React.Component {
state = {
anchorEl: null,
}
handleClick = event => {
this.setState({ anchorEl: event.currentTarget })
}
handleClose = () => {
this.setState({ anchorEl: null })
}
render() {
const { anchorEl } = this.state
return (
<div>
<Button
aria-owns={anchorEl ? 'fade-menu' : null}
onClick={this.handleClick}
className={classes.button}
>
Categories
</Button>
<Menu
id="fade-menu"
anchorEl={anchorEl}
open={Boolean(anchorEl)}
onClose={this.handleClose}
>
<Link to={'accessories'}>
<MenuItem onClick={this.handleClose}>Accessories</MenuItem>
</Link>
<Link to={'automotive'}>
<MenuItem onClick={this.handleClose}>Automotive</MenuItem>
</Link>
<Link to={'electronics'}>
<MenuItem onClick={this.handleClose}>Electronics</MenuItem>
</Link>
</Menu>
</div>
)
}
}
NavBarDesktop.propTypes = {
classes: PropTypes.object.isRequired,
}
export default withStyles(styles)(NavBarDesktop)
Run Code Online (Sandbox Code Playgroud)
以前有人遇到过这个吗?
我不太明白你的问题,但如果你希望得到material-ui的行为,我建议你按照第三方路由库文档中的建议编写导航按钮。
我在我的项目中使用它:
// ./src/components/LinkMenuItem.js
import React from 'react';
import PropTypes from 'prop-types';
import Link from 'gatsby-link';
import MenuItem from '@material-ui/core/MenuItem';
const LinkMenuItem = ({ to, children, ...rest }) => (
<MenuItem component={Link} to={to} {...rest}>
{children}
</MenuItem>
);
LinkMenuItem.propTypes = {
to: PropTypes.string.isRequired,
children: PropTypes.string.isRequired,
};
export default LinkMenuItem;
Run Code Online (Sandbox Code Playgroud)
然后在您的NavBarDesktop组件中:
import LinkMenuItem from './path/to/component';
// ...
<Menu
id="fade-menu"
anchorEl={anchorEl}
open={Boolean(anchorEl)}
onClose={this.handleClose}
>
<LinkMenuItem onClick={this.handleClose} to='/accessories'>Accessories</LinkMenuItem>
<LinkMenuItem onClick={this.handleClose} to='/automotive'>Automotive</LinkMenuItem>
<LinkMenuItem onClick={this.handleClose} to='/electronics'>Electronics</LinkMenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |