How can I call a method in a different component in vuejs?

The following code is not complete, but I wanted to create a method in pages/configurations.vue that called this.getTags() in setselectedMainMenu and this getTags() is in the sampleTypeModal.vue component. getSampleType is working, but how it is being called in the sampleTypes.vue component ends up being different, how can I call getTags correctly?

pages/configurations.vue

<template>
    <acc-layout-side-menu>
    
    <!-- Tabela Steps-->
    <sample-types
        v-if="selectedMainMenu == 4"
        ref="sampleType"
        class="full-height"
    ></sample-types>

    </acc-layout-side-menu>
</template>

<script>
import SampleTypes from '@/components/configurations/sampleTypes.vue';
export default {
    name: 'configurations',
    components: {
        
        SampleTypes
    },
    data() {
        return {
        //Menu Lateral
        selectedMainMenu: '1', 
        }
    },


    methods: {

        setselectedMainMenu(id){
            this.selectedMainMenu = id;
            localStorage.setItem('selectedMainMenu', id);
            switch(this.selectedMainMenu){
            case '1':
                break
            case '2':
                break
            case '3':
                this.getStepsList();
                break
            case '4':
                this.getSampleType();
                this.getTags();
                break
            default:
                return;
            }
        },

        getSampleType() {
            this.$nextTick(()=> {
                this.$refs.sampleType.getSampleType();
            })
        },        

    },
    mounted() {
        this.selectedMainMenu = '1';
    }
}
</script>

@/components/configurations/Modals/sampleTypeModal.vue

    <acc-data-table-v2
        :data="data2"
        :columns="columns2"
    >
    </acc-data-table-v2>

  <!-- Modal -->
  <sample-type-modal
    :visible.sync="isModalVisible"
    :modalTitle="modalTitle"
    :rowData="clickedRow"
    :rowData2="[]"
    :selectedSampleType="selectedSampleType"
    @refresh="getSampleType"
  />
</div>
 <script>
    import sampleTypeModal from '@/components/configurations/sampleType.vue';
      export default {
        name: "sampleTypes",
          components: {sampleTypeModal},
          props: {
          },
          data() {
            return {
                isModalVisible: false,
                modalTitle: null,
                selectedSampleType: null,
    
            // Tabela
            data2: [],

            isLoading: false,
            clickedRow: {},
            clickedRow2: [],
        }
    },

    methods: {


        async getSampleType(searchParams) {
            this.isLoading = true;
            try {
                const response = await this.$store.dispatch('getSampleTypeList', searchParams);
                this.data2 = response.data.data.data;
                this.lastPage = response.data.data.last_page;
                this.rowsPerPage = response.data.data.per_page || 20;
                this.currentPage = response.data.data.currentPage;
            } catch (error) {
                console.error('Error while fetching steps: ', error);
                this.$notify_error();
            } finally {
                this.isLoading = false;
            }
        },
    },
  };

@/components/configurations/Modals/sampleTypeModal.vue

<template>
    <acc-modal 
        :visible="visible"
        :title="modalTitle"
        @open="openModal"
        >
        <div class="custom-modal">
            <acc-form ref="form" :model="form" :rules="formRules">
            <div class="columns is-multiline">
                <div class="column is-6 py-0">
                    <acc-form-item :label="$t('app.table.name')" prop="description">
                        <acc-input v-model="form.description" autocomplete="off"></acc-input>
                    </acc-form-item>
                </div>
            </div>
            </acc-form>
        </div>
    </acc-modal>
</template>
<script>
export default{
     name: 'sampleTypeModal',


    data() {
        return {

            initialdata: null,
            isLoading: false,

            data2: [],
            tags: [],
            tagsdata: [
                { id: 1,  print_tag_id: '', number_prints: 1, is_deleted: false, is_edited: false, is_new: false},
            ],

        }
    },


    methods: {

        getTags() {
            this.$store.dispatch('getTagsList')
                .then(response => {
                if (response && response.data && response.data.data) {
                    this.tags = response.data.data;

                } else {
                    console.error('Invalid response structure: ', response);
                    this.$notify_error('Invalid response structure');
                }
                })
                .catch(error => {
                    console.error('Error while fetching sampleType: ', error);
                    this.$notify_error(error);
                })
        },
    }
}
</script>