Estratégias de rolagem
A estratégia scroll determina como a rolagem é manipulada no IgxOverlayService fornecido. Existem quatro estratégias scroll:
- NoOperation- não faz nada.
- Bloquear- o evento é cancelado e o componente não rola com a janela.
- Fechar- usa uma tolerância e fecha um componente expandido ao rolar se a tolerância for excedida.
- Absoluto- rola tudo.
Usage
Cada estratégia de rolagem tem os seguintes métodos:
initialize- inicializa a estratégia de rolagem. Precisa de uma referência do documento, do serviço de sobreposição e do id do componente renderizadoattach- anexa a estratégia de rolagem ao elemento especificado ou ao documentodetach- destaca a estratégia de rolagem
this.scrollStrategy.initialize(document, overlayService, id);
this.scrollStrategy.attach();
this.scrollStrategy.detach();
Getting Started
A estratégia de rolagem é passada como uma propriedade no parâmetro overlaySettings quando o método overlay.attach() é chamado:
// 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 alterar a estratégia de rolagem, usada pela sobreposição, substitua a propriedade scrollStrategy do objeto overlaySettings passado para a sobreposição. Se uma estratégia já foi anexada, você deve desanexar o ID gerado 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 usar qualquer uma das estratégias de rolagem, importe-a assim:
import { NoOpScrollStrategy } from "./scroll/NoOpScrollStrategy";
Estratégias de rolagem
As estratégias de rolagem podem ser passadas para o objeto overlaySettings para determinar como a sobreposição deve lidar com a rolagem. A demonstração abaixo ilustra a diferença entre as scrollStrategies separadas:
Modal
O objeto overlaySettings também permite que uma propriedade booleana (modal) seja passada. Isso controla como a sobreposição será exibida:
- Se a propriedade
modalforfalse, o elemento será anexado ao primeiro plano do DOM, mas tudo continuará ativo e interativo - por exemplo, rolagem, clique, etc. - Se a propriedade
modalfortrue, o elemento será anexado ao primeiro plano do DOM e um bloqueador de sobreposição será colocado atrás dele, interrompendo a propagação de todos os eventos:
API References
Additional Resources
- Sobreposição do tópico principal
- Estratégias de posicionamento
- Tópico de estilo
- Serviço IgxOverlay
- Estilos IgxOverlay