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
modal
forfalse
, o elemento será anexado ao primeiro plano do DOM, mas tudo continuará ativo e interativo - por exemplo, rolagem, clique, etc. - Se a propriedade
modal
fortrue
, 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