import{c as t,o as e,C as o}from"./vendor.0d0a34e4.js";const n={class:"markdown-body"},l=o('
将内容放置在多个折叠面板中,点击面板标题可展开或收缩内容。
import { createApp } from 'vue';\n// vue\nimport { Collapse } from '@nutui/nutui';\n// taro\nimport { Collapse } from '@nutui/nutui-taro';\n\nconst app = createApp();\napp.use(Collapse);\n通过v-model控制展开的面板列表,activeNames为数组格式
<nut-collapse v-model:active="active1" icon="down-arrow">\n <nut-collapse-item :title="title1" :name="1">\n NutUI是一套拥有京东风格的轻量级的 Vue 组件库\n </nut-collapse-item>\n <nut-collapse-item :title="title2" :name="2">\n 在产品的功能、体验、易用性和灵活性等各个方面做了全面的升级!\n </nut-collapse-item>\n <nut-collapse-item :title="title3" :name="3" disabled>\n </nut-collapse-item>\n</nut-collapse>\nsetup() {\n const activeNames = reactive([1, 2]);\n const title = reactive({\n title1: '标题1',\n title2: '标题2',\n title3: '标题3',\n })\n return {\n activeNames,\n ...toRefs(title)\n };\n}\n<nut-collapse v-model:active="activeName" :accordion="true">\n <nut-collapse-item :title="title1" :name="1">\n 引入Vue3新特性 Composition API、Teleport、Emits 等\n </nut-collapse-item>\n <nut-collapse-item :title="title2" :name="2">\n 全面使用 TypeScipt\n </nut-collapse-item>\n</nut-collapse>\nsetup() {\n const activeName = ref(1);\n const title = reactive({\n title1: '标题1',\n title2: '标题2',\n title3: '标题3',\n })\n return {\n activeName,\n ...toRefs(title)\n };\n}\n通过accordion可以设置为手风琴模式,最多展开一个面板,此时activeName为字符串格式;subTitle可以设置副标题的内容
<nut-collapse v-model:active="activeName" :accordion="true" icon="down-arrow">\n <nut-collapse-item :title="title1" :name="1">\n 基于京东设计语言体系,构建场景\n </nut-collapse-item>\n <nut-collapse-item :title="title2" :name="2" :sub-title="subTitle">\n 提高界⾯的模块化通用程度\n </nut-collapse-item>\n <nut-collapse-item :title="title3" :name="3">\n 采用组合式 API Composition 语法重构,结构清晰,功能模块化\n </nut-collapse-item>\n</nut-collapse>\nsetup() {\n const activeName = ref(1);\n const subTitle = '副标题';\n const title = reactive({\n title1: '标题1',\n title2: '标题2',\n title3: '标题3',\n })\n return {\n activeName,\n subTitle,\n ...toRefs(title)\n };\n}\n通过icon设置自定义图标,rotate设置图标旋转的角度
<nut-collapse\n v-model:active="activeName"\n :accordion="true"\n icon="arrow-right2"\n rotate="90"\n>\n <nut-collapse-item :title="title1" :name="1">\n NUTUI3.0重新思考其内在的一致性和可组合性\n </nut-collapse-item>\n <nut-collapse-item :title="title2" :name="2" sub-title="文本内容">\n 提⾼产研输出对接的效率,降低输出工作量\n </nut-collapse-item>\n</nut-collapse>\nconst activeName = ref(1);\nconst title = reactive({\n title1: '标题1',\n title2: '标题2',\n})\nreturn {\n activeName,\n ...toRefs(title)\n};\n通过icon设置自定义图标,rotate设置图标旋转的角度
<nut-collapse\n v-model:active="activeName"\n title-icon="issue"\n title-icon-color="red"\n title-icon-size="20px"\n title-icon-position="left"\n icon="down-arrow"\n :accordion="true"\n>\n <nut-collapse-item :title="title1" :name="1">\n 组件 emits 事件单独提取,增强代码可读性\n </nut-collapse-item>\n <nut-collapse-item :title="title2" :name="2" sub-title="文本内容">\n 使用 Teleport 新特性重构挂载类组件\n </nut-collapse-item>\n</nut-collapse>\nconst activeName = ref(1);\nconst title = reactive({\n title1: '标题1',\n title2: '标题2',\n})\nreturn {\n activeName,\n ...toRefs(title)\n};\n| 字段 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| v-model | 当前展开面板的 name | 手风琴模式:string | number 非手风琴模式:(string | number)[] | - |
| accordion | 是否开启手风琴模式 | boolean | false |
| icon | 图标链接/或使用 NutUI 的 icon | string | ‘’ |
| icon-size | 图标大小 | string | 16px |
| icon-color | 图标颜色 | string | ‘’ |
| sub-title | 标题栏副标题 | string | - |
| title-icon | 标题图标链接/或使用 NutUI 的 icon | string | ‘’ |
| title-icon-size | 标题图标大小 | string | 16px |
| title-icon-color | 标题图标颜色 | string | ’‘ |
| title-icon-position | 标题图标位置 | string | ‘left’ |
| rotate | 点击折叠和展开的旋转角度,在自定义图标模式下生效 | string \\ number | 180 |
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| name | 唯一标识符,必填 | string \\ number | -1 |
| title | 标题栏左侧内容 | string | - |
| sub-title | 标题栏副标题 | string | - |
| disabled | 标题栏是否禁用 | boolean | false |
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| change | 切换面板时触发 | 类型与 v-model 绑定的值一致 |