javascript - 如何在 Ant Design 中更改所选菜单项的颜色?

标签 javascript css reactjs antd

在 Ant Design 中,选中的菜单项的默认颜色是蓝色,但我想更改颜色。这是我的一些代码:

import React from 'react';
import {
  BrowserRouter as Router,
  Switch,
  Route,
  NavLink,
} from 'react-router-dom';
import { Layout, Menu } from 'antd';
import Create from './Create';
import Dashboard from './Dashboard';
import './layout.css';
const { Header, Footer, Sider, Content } = Layout;
const { Item } = Menu;

function LayoutPage() {
  return (
    <Router>
      <Layout style={{ minHeight: '100vh' }}>
        <Sider>
          <Menu
            theme='dark'
            defaultSelectedKeys={['item1']}
            mode='inline'
          >
            <Item key='item1' className='customclass'>
              <NavLink to='/'>
                <span>Dashboard</span>
              </NavLink>
            </Item>
            <Item key='item2' className='customclass'>
              <NavLink to='/create'>
                <span>Create</span>
              </NavLink>
            </Item>
          </Menu>
        </Sider>
        <Layout>
          <Header style={{ padding: 0, background: '#EBF1FC' }} />
          <Content
            style={{
              padding: 24,
              background: '#EBF1FC',
              minHeight: 280,
            }}
          >
            <div style={{ padding: 24, background: '#EBF1FC', minHeight: 360 }}>
              <Switch>
                <Route exact path='/'>
                  <Dashboard />
                </Route>
                <Route path='/create'>
                  <Create />
                </Route>
                </Route>
              </Switch>
            </div>
          </Content>
        </Layout>
      </Layout>
    </Router>
  );
}
export default LayoutPage;
.ant-menu.ant-menu-dark .ant-menu-item-selected.customclass {
  background-color: '#B039CC';
} 
<script src="https://cdnjs.cloudflare.com/ajax/libs/antd/4.8.5/antd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

在 css 文件中,您可以看到我正在尝试 this解决方案,但奇怪的是,它仅在菜单模式为“水平”时才有效。
我也试过this方法,在该方法中我创建了自定义菜单组件并覆盖了 ant-menu-item-selected 属性,但这也不起作用(我认为这是因为我还需要使用 Item 组件,我必须使用我的自定义菜单访问它零件)。

最佳答案

 .ant-menu-item-selected {
    background-color: #B039CC !important;
  }
添加重要的

关于javascript - 如何在 Ant Design 中更改所选菜单项的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64961752/

相关文章:

javascript - 转换颜色十六进制值以在 Three.js json 文件中使用

jquery - div 宽度动画的较短 jquery 代码

javascript - 单击特定按钮时如何更改跨度的颜色

reactjs - useSelector() 和 useDispatch() 是否替换了 mapStateToProps() 和 mapDispatchToProps()?

javascript - meteor DDP服务器的Java解决方案

javascript - 获取鼠标指针下的文本

javascript - 当父窗口已经通过身份验证时,iFrame 抑制 https 的身份验证弹出窗口

html - 为什么我的进度条在 IE 中显示不正确?

javascript - React调用 Bootstrap 函数?

reactjs - 发送更新请求以更新在服务器端未定义的配置文件