Estrategias de desplazamiento
La estrategia de desplazamiento determina cómo se maneja el desplazamiento en el IgxOverlayService
proporcionado. Hay cuatro estrategias de desplazamiento:
- NoOperation: no hace nada.
- Bloquear: el evento se cancela y el componente no se desplaza con la ventana.
- Cerrar: utiliza una tolerancia y cierra un componente expandido al desplazarse si se excede la tolerancia.
- Absoluto: desplaza todo.
Usage
Cada estrategia de desplazamiento tiene los siguientes métodos:
initialize
: inicializa la estrategia de desplazamiento. Necesita una referencia del documento, el servicio de superposición y la identificación del componente representado.attach
: adjunta la estrategia de desplazamiento al elemento especificado o al documentodetach
: separa la estrategia de desplazamiento
this.scrollStrategy.initialize(document, overlayService, id);
this.scrollStrategy.attach();
this.scrollStrategy.detach();
Getting Started
La estrategia de desplazamiento se pasa como una propiedad en el parámetro overlaySettings
cuando se llama al método overlay.attach()
:
// Initializing and using overlay settings
const overlaySettings: OverlaySettings = {
positionStrategy: new GlobalPositionStrategy(),
scrollStrategy: new AbsoluteScrollStrategy(), //Passes the scroll strategy
modal: true,
closeOnOutsideClick: true
}
const overlayId = overlay.attach(dummyElement, overlaySettings);
Para cambiar la estrategia de desplazamiento utilizada por la superposición, anule la propiedad scrollStrategy
del objeto overlaySettings
pasado a la superposición. Si ya se adjuntó una estrategia, debe separar el ID generado anteriormente:
// overlaySettings is an existing object of type OverlaySettings
// to override the scroll strategy
const newOverlaySettings = Object.assing({}, overlaySettings);
Object.assing(newOverlaySettings, {
scrollStrategy: new CloseScrollStrategy()
})
const overlayId = overlay.attach(dummyElement, newOverlaySettings);
overlay.show(overlayId);
Dependencies
Para utilizar cualquiera de las estrategias de desplazamiento, impórtelo así:
import { NoOpScrollStrategy } from "./scroll/NoOpScrollStrategy";
Estrategias de desplazamiento
Las estrategias de desplazamiento se pueden pasar al objeto overlaySettings
para determinar cómo la superposición debe manejar el desplazamiento. La siguiente demostración ilustra la diferencia entre las scrollStrategies
independientes:
Modal
El objeto overlaySettings
también permite pasar una propiedad booleana (modal
). Esto controla cómo se mostrará la superposición:
- Si la propiedad
modal
esfalse
, el elemento se adjuntará al primer plano del DOM pero todo seguirá activo e interactuable (por ejemplo, desplazarse, hacer clic, etc.). - Si la propiedad
modal
estrue
, el elemento se adjuntará al primer plano del DOM y un bloqueador de superposición se colocará detrás de él, deteniendo la propagación de todos los eventos:
API References
Additional Resources
- Tema principal de superposición
- Estrategias de posición
- Tema de estilo
- Servicio IgxOverlay
- Estilos de superposición Igx