Vue - 自定义Collapse标题(含点击动作)如何与折叠事件独立开

Vue - 自定义Collapse标题(含点击动作)如何与折叠事件独立开

一. 问题现象

我们先来看一个动图:
在这里插入图片描述
我们在Collapse中,自定义了标题,定义了一个a标签以及一个checkbox。但是我们单独点击这两个按钮,会同时触发Collapse的折叠事件。那如何把两者分开呢?

首先看下案例代码:

<template>
<a-collapse :bordered="false" expand-icon-position="right" :expand-icon="expandIcon" >
  <!-- 自定义下拉图标 -->
  <template #expandIcon>
    <a @click="fold">{{ isFold ? "展开" : "收起" }}
      <DownOutlined v-if="isFold" />
      <UpOutlined v-else />
    </a>
  </template>
  <a-collapse-panel key="1" :header="flightCollapseTitle">
    <!-- 自定义标题 -->
    <template #header>
      <a href="#">测试点击</a>
      <a-checkbox>测试</a-checkbox>
    </template>
    自定义内容
  </a-collapse-panel>
</a-collapse>
</template>
<script lang="ts" setup>
	import { ref } from "vue";
	// 是否折叠(收起/展开)
	const isFold = ref(false);
	const fold = () => {
	  isFold.value = !isFold.value;
	};
</script>

二. 问题解决

给我们自定义的标题内容区域添加一个点击阻止事件@click.stop="showCollapse"

<template #header>
  <div @click.stop="showCollapse">
    <a href="#">测试点击</a>
    <a-checkbox>测试</a-checkbox>
  </div>
</template>

添加之后,效果如下:
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zong_0915

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值