diff --git a/src/components/UserTable.vue b/src/components/UserTable.vue index c478dbd..85c2c8c 100644 --- a/src/components/UserTable.vue +++ b/src/components/UserTable.vue @@ -67,4 +67,8 @@ const handleDelete = async (user: UserResponse) => { onMounted(() => { fetchUsers(); }); + +defineExpose({ + fetchUsers +}); diff --git a/src/views/ManagePage.vue b/src/views/ManagePage.vue index 2925cb2..23dd162 100644 --- a/src/views/ManagePage.vue +++ b/src/views/ManagePage.vue @@ -51,17 +51,8 @@ import EditUserDialog from '@/components/EditUserDialog.vue' const router = useRouter() const userStore = store() -const userList = ref([]) const editUserDialog = ref>() - -const fetchUserList = async () => { - try { - const data = await userService.getUsers() - userList.value = data - } catch (error) { - ElMessage.error('获取用户列表失败') - } -} +const userTableRef = ref>() const handleLogout = () => { userStore.logout() @@ -72,13 +63,13 @@ const handleCreateUser = () => { editUserDialog.value?.open({ mode: 'create', onConfirm: () => { - fetchUserList() + userTableRef.value?.fetchUsers() } }) } onMounted(() => { - fetchUserList() + userTableRef.value?.fetchUsers() })