Skip to content

Collapse 折叠面板

查看 sn-collapse 的 2.0 版本差异

基础用法

  • 通过 sn-collapse-group + sn-collapse-item 组合收纳内容区域,点击子项头部展开/收起。
  • 多个子项默认独立展开/收起;开启 accordion 后同一时间只展开一个面板。
  • 子项支持标题、右侧说明文本、左侧图标,内容区高度自适应并带展开动画。
vue
<template>
	<sn-collapse-group>
		<sn-collapse-item title="如何联系客服?" note="FAQ">
			<sn-text text="点击右下角在线客服图标,或在「我的-帮助中心」提交工单。"></sn-text>
		</sn-collapse-item>
		<sn-collapse-item title="支持哪些支付方式?" note="FAQ">
			<sn-text text="支持微信支付、支付宝、银行卡以及余额支付。"></sn-text>
		</sn-collapse-item>
		<sn-collapse-item title="退换货政策说明" note="FAQ">
			<sn-text text="签收后 7 天内支持无理由退换货(不影响二次销售)。"></sn-text>
		</sn-collapse-item>
	</sn-collapse-group>
</template>

更多演示请下载 demo 查看

手风琴模式

开启 accordion 后,同一时间只展开一个子项,展开新子项时其余子项自动收起。

vue
<template>
	<sn-collapse-group accordion>
		<sn-collapse-item title="账户安全" icon="shield-check-line">
			<sn-text text="建议开启双重验证,绑定手机与邮箱,定期更换密码。"></sn-text>
		</sn-collapse-item>
		<sn-collapse-item title="隐私设置" icon="lock-line">
			<sn-text text="可管理个人资料可见范围、消息通知偏好。"></sn-text>
		</sn-collapse-item>
	</sn-collapse-group>
</template>

自定义头部

通过 header 插槽可整体替换子项头部区域(替换标题、说明文本与展开箭头)。

vue
<template>
	<sn-collapse-group>
		<sn-collapse-item>
			<template #header>
				<sn-icon name="vip-2-fill" :size="22" color="$warning"></sn-icon>
				<sn-text bold :font-size="15" text="SVIP 超级会员"></sn-text>
			</template>
			<sn-text text="开通 SVIP 年卡立享全年免运费、专属客服等权益。"></sn-text>
		</sn-collapse-item>
	</sn-collapse-group>
</template>

属性

sn-collapse-group

参数说明类型默认值可选值
accordion是否开启手风琴模式(同一时间仅展开一个子项,展开新项时其余自动收起)Booleanfalsetrue | false
aniTime展开/收起动画时长,支持 $ 简写String | Number$snui.aniTimeNormal-
bgColor面板背景颜色String$front-
titleSize子项标题字体大小,支持 $ 简写String | Number15px × fontsizeFactor-
titleColor子项标题颜色String$title-
activeTitleColor展开状态子项标题颜色String$primary-
noteSize子项说明文本字体大小,支持 $ 简写String | Number13px × fontsizeFactor-
noteColor子项说明文本颜色(同时是展开箭头颜色)String$lineText-
borderRadius面板圆角大小,支持 $ 简写String | Number8px × radiusFactor-
showBorder是否显示子项之间的分割线(末尾子项不显示)Booleantruetrue | false
titleStyle子项标题样式,作用于所有子项UTSJSONObject | String''-
noteStyle子项说明文本样式,作用于所有子项UTSJSONObject | String''-
holderStyle子项内容区容器样式,作用于所有子项UTSJSONObject | String''-
titleClass子项标题外部样式类,透传至所有子项String''-
noteClass子项说明文本外部样式类,透传至所有子项String''-
holderClass子项内容区外部样式类,透传至所有子项String''-
customStyle自定义根节点样式UTSJSONObject | String''-

sn-collapse-item

参数说明类型默认值可选值
title子项标题String''-
note子项说明文本,显示在标题右侧String''-
icon子项标题左侧图标名称String''-
open初始状态是否展开Booleanfalsetrue | false
disabled是否禁用(禁用后不可点击展开,标题与箭头显示禁用色)Booleanfalsetrue | false
titleClass当前子项标题外部样式类,与 group 级 titleClass 合并String''-
noteClass当前子项说明文本外部样式类,与 group 级 noteClass 合并String''-
holderClass当前子项内容区外部样式类(external-class:holder-class),与 group 级 holderClass 合并String''-
customStyle自定义子项根节点样式UTSJSONObject | String''-

子项未单独传入的标题/说明颜色与字号,继承 group 上设置的对应值。

方法

以下方法可通过模板 ref 调用,其中 registersetOrder 主要供组件内部协调使用,一般无需手动调用。

sn-collapse-group

名称参数返回值描述
closeAll--收起所有子项(仅手风琴模式下生效)
registernode: ComponentPublicInstanceVoid注册子项(供 sn-collapse-item 挂载时内部调用)

sn-collapse-item

名称参数返回值描述
close--收起当前子项
setOrderindex: Number, border: BooleanVoid设置子项序号与是否显示底部分割线(供 sn-collapse-group 内部调用)

插槽

sn-collapse-group

名称说明
default在这里放置子组件 sn-collapse-item

sn-collapse-item

名称说明
default子项内部放置收纳的内容
header自定义子项头部区域(替换标题、说明文本与展开箭头)

使用 MIT 协议