vant/src/collapse
2020-11-25 22:39:06 +08:00
..
2020-10-22 16:44:19 +08:00
2020-11-25 22:39:06 +08:00
2020-09-27 17:46:59 +08:00
2020-11-22 16:06:24 +08:00
2020-11-22 16:06:24 +08:00

Collapse

Install

import { createApp } from 'vue';
import { Collapse, CollapseItem } from 'vant';

const app = createApp();
app.use(Collapse);
app.use(CollapseItem);

Usage

Basic Usage

Use v-model to control the name of active panels.

<van-collapse v-model="activeNames">
  <van-collapse-item title="Title1" name="1">Content</van-collapse-item>
  <van-collapse-item title="Title2" name="2">Content</van-collapse-item>
  <van-collapse-item title="Title3" name="3">Content</van-collapse-item>
</van-collapse>
export default {
  data() {
    return {
      activeNames: ['1'],
    };
  },
};

Accordion

In accordion mode, only one panel can be expanded at the same time.

<van-collapse v-model="activeName" accordion>
  <van-collapse-item title="Title1" name="1">Content</van-collapse-item>
  <van-collapse-item title="Title2" name="2">Content</van-collapse-item>
  <van-collapse-item title="Title3" name="3">Content</van-collapse-item>
</van-collapse>
export default {
  data() {
    return {
      activeName: '1',
    };
  },
};

Disabled

Use the disabled prop to disable CollaseItem.

<van-collapse v-model="activeNames">
  <van-collapse-item title="Title1" name="1">Content</van-collapse-item>
  <van-collapse-item title="Title2" name="2" disabled>
    Content
  </van-collapse-item>
  <van-collapse-item title="Title3" name="3" disabled>
    Content
  </van-collapse-item>
</van-collapse>

Custom title

<van-collapse v-model="activeNames">
  <van-collapse-item name="1">
    <template #title>
      <div>Title1 <van-icon name="question-o" /></div>
    </template>
    Content
  </van-collapse-item>
  <van-collapse-item title="Title2" name="2" icon="shop-o">
    Content
  </van-collapse-item>
</van-collapse>
export default {
  data() {
    return {
      activeNames: ['1'],
    };
  },
};

API

Collapse Props

Attribute Description Type Default
v-model Names of current active panels accordion mode number | string
non-accordion mode(number | string)[]
-
accordion Whether to be accordion mode boolean false
border Whether to show outer border boolean true

Collapse Events

Event Description Arguments
change Emitted when switching panel activeNames

CollapseItem Props

Attribute Description Type Default
name Name number | string index
icon Left Icon string -
size Title sizecan be set to large string -
title Title number | string -
value Right text number | string -
label Description below the title string -
border Whether to show inner border boolean true
disabled Whether to disabled collapse boolean false
is-link Whether to show link icon boolean true
title-class Title className string -
value-class Value className string -
label-class Label className string -

CollapseItem Slots

Name Description
default Content
value Custom value
icon Custom icon
title Custom title
right-icon Custom right icon

CollapseItem Methods

Use ref to get CollapseItem instance and call instance methods.

Name Description Attribute Return value
toggle v2.10.9 Toggle expanded status expanded: boolean -

Less Variables

How to use: Custom Theme.

Name Default Value Description
@collapse-item-transition-duration @animation-duration-base -
@collapse-item-content-padding @padding-sm @padding-md -
@collapse-item-content-font-size @font-size-md -
@collapse-item-content-line-height 1.5 -
@collapse-item-content-text-color @gray-6 -
@collapse-item-content-background-color @white -
@collapse-item-title-disabled-color @gray-5 -