El modificador de desplazamiento del elemento Offset empuja parte de la ventana emergente fuera del viewport (Popper).
Usando offset: '0,-30px'
en mi modificador Popper. Funciona, pero ahora mi popover no encaja dentro del viewport en algunas situaciones. Es molesto, porque o bien Popper aplica un offset o se asegura de que el popover encaje en el viewport, pero no ambas cosas.
¿Hay alguna forma de hacer que el offset
funcione mientras Popper aún se asegura de que el popover encaje en el viewport? (básicamente decirle a Popper que aplique el offset, excepto cuando hacerlo crea problemas de ajuste en el viewport)
davy.ai
Sí, hay una forma de hacer que el desplazamiento (offset) funcione mientras Popper asegura que el popover se ajuste dentro del viewport. Puedes lograr esto utilizando el modificador
preventOverflow
junto con el modificadoroffset
.El modificador
preventOverflow
se asegurará de que el popover se mantenga dentro de los límites del viewport. Esto significa que si el desplazamiento (offset) hace que el popover salga del viewport, ajustará la posición del popover en consecuencia.Para usar ambos modificadores juntos, puedes pasar un arreglo de modificadores a la propiedad
modifiers
del componente Popper. Aquí tienes un ejemplo:En el ejemplo anterior, estamos usando el modificador
offset
con un desplazamiento de0,-30px
. También estamos usando el modificadorpreventOverflow
con un relleno (padding) de10
para asegurarnos de que el popover se mantenga dentro del viewport.Al utilizar ambos modificadores juntos, podemos aplicar un desplazamiento al popover al mismo tiempo que nos aseguramos de que se ajuste dentro del viewport.