Ant Design - отменить выбор / удалить активный статус из Menu.Item программно - PullRequest
0 голосов
/ 27 августа 2018

Следующая ситуация:

Главное меню с {LOGO - AntMenu [Горизонтальные] - Другие элементы}.

Логотип перенаправляется на домашнюю страницу, а каждый элемент Menu.Item перенаправляется на другую страницу.приложения.

Текущее поведение: если я нажимаю на один из пунктов Menu.Item, относительный маршрут активируется должным образом (я использую ссылку реакции-маршрутизатора), а эффект «Активный» применяется к соответствующемуMenu.Item.

Однако, если после этого я щелкну ЛОГОТИП, то эффект «Активный» останется на ранее выбранном элементе, и я не могу найти способ программно удалить его, не взломав меню.

Я пытался установить для массива Menu.selectedKeys значение null или что-то еще, но оно ломается и не может видеть никаких других свойств в документе , которые могут помочь.

Любая идея

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Было бы хорошо опубликовать некоторый код из вашего проекта.

Я использовал реактив-редукс и реактив-роутер-дом, поэтому, возможно, у вас будет другой код, но надеюсь, он вам пригодится.

export const Path = {
root: '/',  
books: '/books',
authors: '/authors'
}

...
<Router>
    <div>
      <ul>
        <li><Link to='/'>   
                <div> 
                   <img src={your logo} />
                </div>
             </Link>
        </li>      
        <li><Link to='/books'>Books</Link></li>
        <li><Link to='/authors'>Authors</Link></li>
      </ul>
      <main>
        <Route exact path={Path.root}/>
        <Route path={Path.books} component={BooksTableContainer}/> 
        <Route path={Path.authors} component={AuthorTableContainer}/>            
      </main>
    </div>
  </Router>
0 голосов
/ 27 августа 2018

От вашего вопроса, я не уверен, как вы переходите на другой маршрут.Если вы используете Ссылку от 'response-router-dom'.Просто измените его на якорную ссылку из ant design.

import { Anchor  } from 'antd';
const { Link } = Anchor;

Внутри класса

<Anchor>
     <Link href="/home"  title="Click on Logo">
     </Link>
</Anchor>

И если вам нужен Link из 'response-router-dom' для того же компонента, просто используйтепсевдоним и изменить его имя на что-то другое и использовать его для элементов меню для навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...