Vue-Composable für reaktive items/source/loading/error/revision-Refs. In setup aufrufen; fremde Instanzen werden nicht entsorgt.
Parameter: getSource liest die aktuelle Datenbindung, fallback liefert optional eine Ersatzliste (Standard []). Rückgabe: items/source/loading/error/revision als Vue-Refs. Lifecycle-Hooks benötigen setup. Unmount entfernt Listener und entsorgt nur aus Konfigurationen erzeugte Instanzen.
function useTxSource<T>(getSource: () => TxSource<T> | undefined, fallback?: () => T[]): { items: ComputedRef<T[]>; source: ShallowRef<TxDataSource<T> | undefined, TxDataSource<T> | undefined>; loading: ComputedRef<boolean>; error: ComputedRef<unknown>; revision: ShallowRef<number, number>; }import { defineComponent, h } from 'vue'
import { useTxSource } from '@tekocloud.de/tecexpress'
export default defineComponent({ setup() {
const rows = [{ id: 1, text: 'One' }]
const { items, loading, error, source, revision } = useTxSource(() => rows)
return () => h('p', error.value ? String(error.value) : `${items.value.length} / ${loading.value} / ${revision.value} / ${!!source.value}`)
} })