Vue.js за п р е т и т ь в с п л ы в а т ь с обы т ию к л и к а н а р оди т е л ь с к ий к омп о н е н т [关闭]

vcirk6k6  于 2023-06-24  发布在  Vue.js
关注(0)|答案(2)|浏览(14132)

**已关闭。**此问题为not written in English。目前不接受答复。

Stack Overflow是一个English-only site。作者必须能够用英语沟通,以理解和参与任何评论和/或回答他们的问题。Don't translate这篇文章的作者;机器翻译可能不准确,甚至人工翻译也可能改变帖子的预期含义。
11小时前关闭
Improve this question
К а к з а п р е т и т ь в с п л ы в а т ь с о б ы т ию к л и к а с д о ч е р н е г о к о м п о н е н т а р о д и т е л ь с к и й к о м п о н е н т,к о г д а н е т в о з м ожн о с т и р е д а к т и р о в а т ь д о ч е р н и й к о м п о н е н т(и п о р т и р о в а н и з с т о р о н н е й б и б л и о т е к и к о п о м о н е н т о в м о е с луч а е т о PrimeVue).

<MyParentComponent>
    <Accordion>
        <AccordionTab>
            <template #header>
                <SplitButton @click.stop="() => {}" />
            </template>
        </AccordionTab>
    </Accordion>
</MyParentComponent>

В с в о е р а з р а б о т к е с т о л к н у л с я с т а к о й п р о б л е м о й - в к о м п о н е н т е SplitButton е с т ь в л оже н н а я к н о п к а с о б ы т и е click к о т о р о й н е п о д а е т с я н а у р о в е н ь SplitButton,в р е з у л ь т а т е п о к л и к у н а н е с о б ы т и е п о м д а е т с я в е рх д о к о м о н е н т а AccordionTab и о т к р ы в а е т и л и з а к р ы в а е т его.你是说你是不是在开玩笑
И с к а л п охо ж и е в о п р о с ы в и н т е р н е т е,н о в е з д е н е т у ч е т а т ого ч т о к о м п о н е н т ы SplitButton и AccordionTab я в л я ю т с я с т о р о н н н и м и н е п о д л е ж а т и з м е н е н и ю и з н у т р и.这是一个很好的例子。

kqhtkvqz

kqhtkvqz1#

我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,Xо т я т о н е р а б о т а е т е с л и п р и с у т с т в у е т ц и к л v-for.
停止传播。

<template>
    <div class="stop-propagation-main">
        <slot></slot>
    </div>
</template>

<script setup>
import {onMounted, onUnmounted, ref} from "vue";

onMounted(() => {
    parent.value = document.querySelector('.stop-propagation-main');
    parent.value.addEventListener('click', stopPropagationFunc);
});

onUnmounted(() => {
    parent.value.removeEventListener('click', stopPropagationFunc);
});

const parent = ref();
const stopPropagationFunc = (e) => {
    e.stopPropagation();
    e.preventDefault();
}
</script>

<style scoped lang="scss">
.stop-propagation-main {

}
</style>

我想让你知道我是谁。

<MyParentComponent>
    <Accordion>
        <AccordionTab>
            <template #header>
                <StopPropagation>
                    <SplitButton @click.stop="() => {}" />
                </StopPropagation>
            </template>
        </AccordionTab>
    </Accordion>
</MyParentComponent>

我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,

5cnsuln7

5cnsuln72#

П р о т е с т и р о в а л р а б о т а е т т а к о е р е ш е н и е - о б е р н у ть б л о к и р у е м ый эл е м е н т в div c п р о с л у ш и в а н и е м с о б ы т ия и м одифи к а т о р о м. stop.

<div @click.stop>
    <SplitButton @click.stop="() => {}" />
</div>

相关问题