Size: a a a

2020 March 04

I

Ilya in React Kyiv
Тебе надо просто в event.path найти был ли блок на который ты кликнул
источник

I

Ilya in React Kyiv
Stas G
потому что мне не подходит оборачивать попап снаружи, я его через портал рендерю в боди
А если это сделать в самом попере, и передавать пропсу onOutsideClick?
источник

SG

Stas G in React Kyiv
не оч понимаю, но я тут увидел, что у самого поппера есть проп ref, попробую через него
источник

I

Ilya in React Kyiv
Stas G
не оч понимаю, но я тут увидел, что у самого поппера есть проп ref, попробую через него
В смысле сделать свой свой компонент попера, который оборачивает этот компонент в див с отусайд клик хендлером
источник

SG

Stas G in React Kyiv
сложна
источник

I

Ilya in React Kyiv
Stas G
сложна
Так что сложного, все что надо сделать, это из пропсов вытащить пропсу хэндера, а остальные заспредить в тот попер
источник

SG

Stas G in React Kyiv
ну всегда  можно что-то накрутить и наделать своих компонентов, но я пытаюсь средствами библиотеки это сделать)
источник

SS

Serhey Shmyg in React Kyiv
Stas G
Всем привет, кто знает, можно ли объединить 2 рефа, чтобы передать в 1 элемент?
Или может быть кто-то знает грамотный способ, как в react-popper отслеживать клики снаружи открытого <Popper />?
Якщо разом з попером рендерить прозорий на весь вьюпорт дів, по якому клік ловити?
источник

SG

Stas G in React Kyiv
ну пока вариант добавить в попап дополнительный див мне нравится больше всего
источник

I

Ilya in React Kyiv
Stas G
ну всегда  можно что-то накрутить и наделать своих компонентов, но я пытаюсь средствами библиотеки это сделать)
interface PopperProps extends ReactPopperProps {
 onOutsideClick: (event: Event) => void;
}

function Popper({ onOutsideClick, ...restProps }: PopperProps) {
 const outsideClickHandleRef = useOutsideClick(onOutsideClick);

 return (
   <div ref={outsideClickHandleRef}>
     <ReactPopper {...restProps} />
   </div>
 );
}
источник

I

Ilya in React Kyiv
Что сложного?
источник

SS

Serhey Shmyg in React Kyiv
Позиціонування не буде працювати!
источник

SG

Stas G in React Kyiv
инфа 100, что он будет рендериться не там, где предполагается
источник

SG

Stas G in React Kyiv
во во
источник

SG

Stas G in React Kyiv
))
источник

I

Ilya in React Kyiv
Stas G
инфа 100, что он будет рендериться не там, где предполагается
Не думаю
источник

SS

Serhey Shmyg in React Kyiv
вся суть попера втрачається
источник

SG

Stas G in React Kyiv
у него там свой движок для рассчета координат и позиционирования, этот див будет до 1 места
источник

I

Ilya in React Kyiv
Stas G
у него там свой движок для рассчета координат и позиционирования, этот див будет до 1 места
Я об этом и думаю
источник

SG

Stas G in React Kyiv
хорошо
источник