diff --git a/app/components/Button/Base.vue b/app/components/Button/Base.vue index 5a0a39af19..0dd9280036 100644 --- a/app/components/Button/Base.vue +++ b/app/components/Button/Base.vue @@ -25,6 +25,7 @@ const el = useTemplateRef('el') defineExpose({ focus: () => el.value?.focus(), + getBoundingClientRect: () => el.value?.getBoundingClientRect(), }) diff --git a/app/components/ReadmeTocDropdown.vue b/app/components/ReadmeTocDropdown.vue index 67a9e9615f..65d1da3e49 100644 --- a/app/components/ReadmeTocDropdown.vue +++ b/app/components/ReadmeTocDropdown.vue @@ -79,8 +79,8 @@ function toggle() { if (isOpen.value) { close() } else { - if (triggerRef.value) { - const rect = triggerRef.value.getBoundingClientRect() + const rect = triggerRef.value?.getBoundingClientRect() + if (rect) { dropdownPosition.value = { top: rect.bottom + 4, right: rect.right, @@ -145,18 +145,18 @@ function handleKeydown(event: KeyboardEvent) {