Il y a un problème ouvert Git demandant des accessoires pour l'alignement des éléments du menu. En attendant, quelle est la bonne façon de déplacer certains éléments de la barre de navigation (par exemple, connexion, déconnexion) vers la droite?
Voici un exemple de code pour un menu, où tous les éléments du menu sont sur le côté gauche.
import { Menu, Icon } from 'antd';
const SubMenu = Menu.SubMenu;
const MenuItemGroup = Menu.ItemGroup;
class App extends React.Component {
state = {
current: 'mail',
}
handleClick = (e) => {
console.log('click ', e);
this.setState({
current: e.key,
});
}
render() {
return (
<Menu
onClick={this.handleClick}
selectedKeys={[this.state.current]}
mode="horizontal"
>
<Menu.Item key="mail">
<Icon type="mail" />Navigation One
</Menu.Item>
<Menu.Item key="app" disabled>
<Icon type="appstore" />Navigation Two
</Menu.Item>
<SubMenu title={<span><Icon type="setting" />Navigation Three - Submenu</span>}>
<MenuItemGroup title="Item 1">
<Menu.Item key="setting:1">Option 1</Menu.Item>
<Menu.Item key="setting:2">Option 2</Menu.Item>
</MenuItemGroup>
<MenuItemGroup title="Item 2">
<Menu.Item key="setting:3">Option 3</Menu.Item>
<Menu.Item key="setting:4">Option 4</Menu.Item>
</MenuItemGroup>
</SubMenu>
<Menu.Item key="alipay">
<a href="https://ant.design" target="_blank" rel="noopener noreferrer">Navigation Four - Link</a>
</Menu.Item>
</Menu>
);
}
}
ReactDOM.render(<App />, mountNode);
Essayez de donner les éléments de menu que vous voulez à droite float: right
Via le style JSX ou une classe CSS.
Exemple en tirant l'élément Navigation Three vers la droite avec le style en ligne JSX, style={{float: 'right'}}
:
<SubMenu style={{float: 'right'}} title={<span><Icon type="setting" />Navigation Three - Submenu</span>}>
<MenuItemGroup title="Item 1">
<Menu.Item key="setting:1">Option 1</Menu.Item>
<Menu.Item key="setting:2">Option 2</Menu.Item>
</MenuItemGroup>
<MenuItemGroup title="Item 2">
<Menu.Item key="setting:3">Option 3</Menu.Item>
<Menu.Item key="setting:4">Option 4</Menu.Item>
</MenuItemGroup>
</SubMenu>
Si vous avez droit et éléments de menu gauche, vous devez ajouterstyle={{float: 'right'}}
À droite MenuItem
etstyle={{float: 'left'}}
À gauche.
Si vous omettez ce dernier, certains navigateurs (Firefox) afficheront les balises <li>
Sous-jacentes avec une pause entre eux.