Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

DataResourceOptions

interfaz Desde 1.5.0

Opciones de recarga de useApi y useRpcQuery: su último argumento, después de las opciones de la petición o de la entrada.

ts
import type { DataResourceOptions } from "@meekojs/meeko/framework";

Código fuente src/app/composables/resources/engine.ts:112

Declaración #

ts
interface DataResourceOptions {
	readonly keepPrevious?: boolean
	readonly debounceMs?: number
	readonly enabled?: boolean | ReadonlySignal<boolean> | (() => boolean)
}

Ejemplo #

meeko
<script lang="ts">
const props = defineProps<{ params: { id: string }; search: Record<string, string | string[]> }>();
// Al cambiar de usuario, data vuelve a null en lugar de mostrar el anterior mientras carga.
const user = useApi("/api/users/[id]", () => ({ params: { id: props.params.id } }), { keepPrevious: false });
// Por defecto, data conserva la página anterior mientras llega la siguiente.
const page = signal("1");
const list = useApi("/api/users", { query: { page } });
// Desde 1.7: una petición cuando se deja de escribir, y ninguna con menos de dos letras.
const q = signal("");
const hits = useRpcQuery("docs.search", () => ({ q: q.value }), { debounceMs: 200, enabled: () => q.value.length >= 2 });
</script>
<template><p if:when="list.refreshing.value">Actualizando…</p></template>

Propiedades #

keepPrevious #

propiedad sólo lectura opcional

readonly keepPrevious?: boolean

Si data conserva el valor anterior cuando cambia la entrada (sus señales) mientras llegan los datos nuevos, con pending y refreshing en true. Por defecto true, como hasta 1.4. Con false, un cambio de la entrada vacía data y error y vuelve a ser una primera carga (pending sin refreshing). refresh() conserva siempre los datos, y un recurso esperado con await, cuyo data nunca es null, también.

debounceMs #

propiedad sólo lectura opcional desde 1.7.0

readonly debounceMs?: number

Milisegundos que la entrada debe quedarse quieta antes de pedir los datos (desde 1.7), como en una búsqueda mientras se escribe: una ráfaga de cambios hace una sola petición, con la última entrada. Cada cambio cancela la petición en curso. Durante la espera pending vale true y data conserva el resultado anterior, salvo con keepPrevious: false. No retrasa la primera carga, refresh() ni el SSR, que pide los datos de un await enseguida para hidratar.

enabled #

propiedad sólo lectura opcional desde 1.7.0

readonly enabled?: boolean | ReadonlySignal<boolean> | (() => boolean)

Si se piden los datos (desde 1.7): un booleano, una señal o una función que lee señales, como () => query.value.length >= 2. Mientras vale false no hay petición (tampoco con refresh()), la que estaba en curso se cancela, pending vale false y data conserva el último resultado, o null si no lo hubo. Al volver a true se piden los datos de la entrada actual, salvo que data ya sea de esa entrada. Un recurso con await no puede empezar desactivado.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/app/composables/resources/engine.ts