PrimeVue Accordion问题:点击特定输入时禁止展开面板
解决PrimeVue Accordion头部内点击CheckBox不触发面板展开的问题
核心问题是CheckBox的点击事件会冒泡到父级的AccordionHeader,触发面板展开逻辑。z-index无法解决这个问题,因为它只控制元素层叠顺序,和DOM事件流无关。以下是两种可行的解决方法:
方法一:直接用事件修饰符阻止冒泡
给CheckBox添加@click.stop修饰符,直接阻止点击事件向上冒泡:<accordion-header> <div> <span>Something</span> <Checkbox :model-value="thing" :binary="true" @input="toggle" @click.stop /> </div> </accordion-header>方法二:在处理函数中手动阻止冒泡
如果需要在toggle方法中执行额外逻辑,可以把事件对象传入方法,再调用stopPropagation():
模板代码:<accordion-header> <div> <span>Something</span> <Checkbox :model-value="thing" :binary="true" @input="toggle($event)" /> </div> </accordion-header>对应的JS方法:
toggle(event) { // 这里写你的原有业务逻辑 event.stopPropagation(); // 阻止事件冒泡到AccordionHeader }
内容的提问来源于stack exchange,提问作者Nicolas
相关产品推荐
相关产品推荐

