11<script setup lang="ts">
2- import { onMounted , computed } from ' vue'
2+ import { onMounted , computed , ref } from ' vue'
33import { useUsers } from ' ../composables/useUsers'
44import { defaultDisplayFields , defaultFieldLabels , type User } from ' nuxt-users/utils'
55
@@ -20,34 +20,34 @@ const emit = defineEmits<{
2020}>()
2121
2222// Initialize the composable state as null initially
23- let usersComposable: ReturnType <typeof useUsers > | null = null
23+ const usersComposable = ref < ReturnType <typeof useUsers > | null >( null )
2424
2525// Create computed properties that safely access the composable
26- const users = computed (() => usersComposable ?.users . value ?? [])
27- const pagination = computed (() => usersComposable ?.pagination . value ?? null )
28- const loading = computed (() => usersComposable ?.loading . value ?? false )
29- const error = computed (() => usersComposable ?.error . value ?? null )
26+ const users = computed (() => usersComposable . value ?.users ?? [])
27+ const pagination = computed (() => usersComposable . value ?.pagination ?? null )
28+ const loading = computed (() => usersComposable . value ?.loading ?? false )
29+ const error = computed (() => usersComposable . value ?.error ?? null )
3030
31- onMounted (() => {
31+ onMounted (async () => {
3232 // Initialize the composable only after the component is mounted
33- usersComposable = useUsers ()
33+ usersComposable . value = useUsers ()
3434
3535 // Fetch users only if the list is empty to avoid unnecessary fetches
3636 if (users .value .length === 0 ) {
37- usersComposable .fetchUsers ()
37+ usersComposable .value ?. fetchUsers ()
3838 }
3939})
4040
4141const handleDelete = (user : User ) => {
42- if (usersComposable ) {
43- usersComposable .removeUser (user .id )
42+ if (usersComposable . value ) {
43+ usersComposable .value ?. removeUser (user .id )
4444 }
4545 emit (' delete' , user )
4646}
4747
4848const handleFetchUsers = (page ? : number , limit ? : number ) => {
49- if (usersComposable ) {
50- usersComposable .fetchUsers (page , limit )
49+ if (usersComposable . value ) {
50+ usersComposable .value . fetchUsers (page , limit )
5151 }
5252}
5353 </script >
0 commit comments