code refactor

This commit is contained in:
MaysWind
2025-10-06 16:05:04 +08:00
parent d9b726cdf9
commit 4f664dbfc3
+5 -3
View File
@@ -1,6 +1,6 @@
<template> <template>
<v-select <v-select
class="two-column-main-select" ref="twoColumnMainSelect"
persistent-placeholder persistent-placeholder
:density="density" :density="density"
:variant="variant" :variant="variant"
@@ -89,6 +89,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { VSelect } from 'vuetify/components/VSelect';
import { VTextField } from 'vuetify/components/VTextField'; import { VTextField } from 'vuetify/components/VTextField';
import { ref, computed, useTemplateRef, nextTick } from 'vue'; import { ref, computed, useTemplateRef, nextTick } from 'vue';
@@ -142,6 +143,7 @@ const {
updateCurrentSecondaryValue updateCurrentSecondaryValue
} = useTwoColumnListItemSelectionBase(props); } = useTwoColumnListItemSelectionBase(props);
const twoColumnMainSelect = useTemplateRef<VSelect>('twoColumnMainSelect');
const filterInput = useTemplateRef<VTextField>('filterInput'); const filterInput = useTemplateRef<VTextField>('filterInput');
const dropdownMenu = useTemplateRef<HTMLElement>('dropdownMenu'); const dropdownMenu = useTemplateRef<HTMLElement>('dropdownMenu');
@@ -216,8 +218,8 @@ function isSecondarySelected(subItem: unknown): boolean {
function updateMenuPosition(): void { function updateMenuPosition(): void {
if (props.autoUpdateMenuPosition) { if (props.autoUpdateMenuPosition) {
nextTick(() => { nextTick(() => {
const mainSelectRect = document.querySelector('.two-column-main-select')?.getBoundingClientRect(); const mainSelectRect = twoColumnMainSelect.value?.$el.getBoundingClientRect();
const selectMenu = document.querySelector('.two-column-select-menu') as (HTMLElement | null); const selectMenu = dropdownMenu.value?.parentElement?.parentElement;
const selectMenuRect = selectMenu?.getBoundingClientRect(); const selectMenuRect = selectMenu?.getBoundingClientRect();
if (mainSelectRect && selectMenu && selectMenuRect) { if (mainSelectRect && selectMenu && selectMenuRect) {