Estrategias de desplazamiento
La estrategia del desplazamiento determina cómo se gestiona el desplazamiento en el sistema proporcionadoIgxOverlayService. Hay cuatro estrategias de pergamino:
- 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 el id del componente que se ha generadoattach- adjunta la estrategia de desplazamiento al elemento especificado o al documentodetach- Desprende la estrategia del pergamino
this.scrollStrategy.initialize(document, overlayService, id);
this.scrollStrategy.attach();
this.scrollStrategy.detach();
Getting Started
La estrategia de desplazamiento se transmite como una propiedad en eloverlaySettings parámetro cuando se llama aloverlay.attach() método:
// 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 usada por la superposición, sobrscribe lascrollStrategy propiedad deloverlaySettings objeto que se pasa a la superposición. Si ya se ha adjuntado una estrategia, deberías separar el ID generado previamente:
// 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 pueden pasarse aloverlaySettings objeto para determinar cómo debe manejar el desplazamiento superpuesto. La demo a continuación ilustra la diferencia entre los separadosscrollStrategies:
Modal
EloverlaySettings objeto también permite pasar una propiedad booleana (modal). Esto controla cómo se mostrará la superposición:
- Si la
modalpropiedad lo estáfalse, el elemento estará unido al primer plano del DOM, pero todo seguirá activo e interactivo, por ejemplo, desplazarse, hacer clic, etc. - Si la
modalpropiedad lo estrue, el elemento se adjuntará al primer plano del DOM y un bloqueador superpuesto se envolverá 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