Material-UI - Есть ли способ разрешить щелчок правой кнопкой мыши, чтобы закрыть модал? - PullRequest
0 голосов
/ 06 марта 2020

Я хотел бы иметь возможность закрыть Menu (или, если быть более точным, c, Popover) правой кнопкой мыши, любое событие mousedown будет сброшено.

Я нашел это в документации: https://material-ui.com/components/menus/#MenuListComposition. js

Который я затем немного почистил. Вот что у меня есть: https://codesandbox.io/s/material-ui-react-8nqqb?fontsize=14&hidenavigation=1&theme=dark

Если вы проверите его, вы увидите, что Popper закрывается при щелчке правой кнопкой мыши, но теперь я могу прокручивать страницу, пока меню открыт: /

Это почти то, что мне нужно, но я не смог сделать то же самое с Popover, так как он использует Modal внутри, и кажется, что они не используют ClickAwayListener или они не раскрывают способ изменить его реквизит.

Так что, если кто-нибудь знает, как заставить mousedown события закрыть Popover или предотвратить прокрутку, когда открыт Popper, я буду более чем рады услышать любое решение.

Заранее спасибо.

Редактировать:

Благодаря этот ответ Я получил В направлении, я настроил данную песочницу, и мне удалось сделать то, что я хотел. Наконец мне пришлось использовать Popper и предотвратить прокрутку, когда она открыта.

Вот последняя ссылка на песочницу: https://codesandbox.io/embed/material-ui-react-1qroy?fontsize=14&hidenavigation=1&theme=dark

1 Ответ

0 голосов
/ 07 марта 2020

Вот способ отключить прокрутку, если открыт поппер.

    window.onscroll = open ? null : () => window.scrollTo(0, 0);

https://codesandbox.io/s/material-ui-react-zysue

Вот тот же пример с popover вместо popper

https://codesandbox.io/s/material-ui-react-n0bf9

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