summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPullToRefresh.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components/MkPullToRefresh.vue')
-rw-r--r--packages/frontend/src/components/MkPullToRefresh.vue16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue
index c38d0ff6a1..f3f5660143 100644
--- a/packages/frontend/src/components/MkPullToRefresh.vue
+++ b/packages/frontend/src/components/MkPullToRefresh.vue
@@ -47,7 +47,13 @@ let scrollEl: HTMLElement | null = null;
let disabled = false;
-const emits = defineEmits<{
+const props = withDefaults(defineProps<{
+ refresher: () => Promise<void>;
+}>(), {
+ refresher: () => Promise.resolve(),
+});
+
+const emit = defineEmits<{
(ev: 'refresh'): void;
}>();
@@ -120,7 +126,12 @@ function moveEnd() {
if (isPullEnd) {
isPullEnd = false;
isRefreshing = true;
- fixOverContent().then(() => emits('refresh'));
+ fixOverContent().then(() => {
+ emit('refresh');
+ props.refresher().then(() => {
+ refreshFinished();
+ });
+ });
} else {
closeContent().then(() => isPullStart = false);
}
@@ -188,7 +199,6 @@ onUnmounted(() => {
});
defineExpose({
- refreshFinished,
setDisabled,
});
</script>