Pull to refresh — OutfitKit

GitHub

Pull to refresh

Indicador "tira hacia abajo para actualizar" — patrón estándar de pantallas táctiles. El gesto solo se activa cuando la lista está al tope (scrollTop = 0). El JS dispara un CustomEvent("ptr:refresh", {detail:{done}}) en el host; el consumidor llama detail.done() al terminar.

Touch-first. En desktop usa mouse=true para activar fallback de mouse drag. Sin gesto real, los demos abajo lo simulan así.

Básico — pulsa y arrastra hacia abajo (mouse drag activo)

Tira para actualizar
  • Mensaje 1 · hace 2 minutos
  • Mensaje 2 · hace 5 minutos
  • Mensaje 3 · hace 1 hora
  • Mensaje 4 · hace 3 horas
  • Mensaje 5 · hace 1 día
  • Mensaje 6 · ayer
  • Mensaje 7 · ayer
  • Mensaje 8 · hace 2 días
  • Mensaje 9 · hace 3 días
  • Mensaje 10 · hace 1 semana

Con callback — incrementa contador en 1.2s

Tira para actualizar

Refrescos completados: 0

Arrastra hacia abajo desde aquí.

Estado .refreshing (spinner activo, sin gesto)

Actualizando…

API · macro pull_to_refresh()

PropTipoDefaultDescripción
state"idle" | "pulling" | "ready" | "refreshing""idle"Estado inicial.
mouseboolfalseHabilita fallback de mouse drag (útil en desktop para demos).
labelsdict{}Override de textos por estado. Keys: idle, pulling, ready, refreshing.
(slot)Contenido. Si quieres scroll independiente, envuelve en <div data-ptr-scroller>.

Evento

EventoDetailDescripción
ptr:refresh{done: () => void}Disparado en el host [data-ptr-host] al soltar pasado el threshold. Llama done() al terminar; si no, se resetea solo en 3 s.

API JS · window.OKPullToRefresh

OKPullToRefresh.init(host)
OKPullToRefresh.initAll(root)