---
title: 标签页组件 tabs
toc: true
---
# 标签页组件 2.10+
> `tabs` 是 2.10 版本新增的加强型组件,用于替代原 `element` 模块中的 `tab` 组件。tabs 广泛应用于 Web 页面。
示例
{{- d.include("/tabs/detail/demo.md") }}
API
该组件继承 `component` 提供的[基础接口](../component/#inherit),并在此基础上为组件专门扩展了以下接口:
| API | 描述 |
| --- | --- |
| var tabs = layui.tabs | 获得 `tabs` 模块。|
| [tabs.render(options)](#render) | tabs 组件渲染,核心方法。|
| [tabs.add(id, options)](#add) | 新增一个标签项。|
| [tabs.close(id, index)](#close) | 关闭指定的标签项。|
| [tabs.closeMore(id, type, index)](#closeMore) | 批量关闭标签项。|
| [tabs.change(id, index)](#change) | 切换到指定的标签项。|
| [tabs.data(id)](#data) | 获取当前标签页信息。|
| [tabs.headerItem(id, index)](#headerItem) | 获取指定的标签头部项。|
| [tabs.bodyItem(id, index)](#bodyItem) | 获取指定的标签内容项。|
| [tabs.setView(id)](#setView) | 重新调整标签视图结构。|
渲染
`tabs.render(options);`
- 参数 `options` : 基础属性配置项。[#详见属性](#options)
tabs 组件会在元素加载完毕后,默认自动对 `class="layui-tabs"` 目标元素完成一次渲染,如果无法找到默认的目标元素,可使用该方法完成标签的初始化渲染。
属性
{{- d.include("/tabs/detail/options.md") }}
新增标签
`tabs.add(id, options);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `options` : 标签配置项
```js
{
title: '标题', // 标签标题
content: '内容', // 标签内容
id: 'xxx', // 标签的 lay-id 属性值
mode: 'append', // 插入模式。可选值: append/prepend/curr
unclosed: true, // 是否禁止关闭。默认 false
done: function(obj){} // 标签添加完毕的回调
}
```
关闭标签
`tabs.close(id, index);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `index` : 标签项的索引或 lay-id 属性值
批量关闭标签
`tabs.closeMore(id, type, index);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `type` : 关闭类型。可选值:
- `'all'` : 关闭所有标签
- `'other'` : 关闭其他标签
- `'left'` : 关闭左侧标签
- `'right'` : 关闭右侧标签
- 参数 `index` : 标签项的索引或 lay-id 属性值,用于定位基准点
切换标签
`tabs.change(id, index);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `index` : 标签项的索引或 lay-id 属性值
获取标签信息
`tabs.data(id);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 返回值:包含当前标签页信息的对象
```js
{
index: 0, // 当前标签项的索引
prevIndex: -1, // 上一个标签项的索引
headerElem: {}, // 当前标签头部元素
bodyElem: {} // 当前标签内容元素
}
```
`tabs.headerItem(id, index);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `index` : 标签项的索引或 lay-id 属性值
- 返回值:标签头部项的 DOM 元素
获取标签内容项
`tabs.bodyItem(id, index);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 参数 `index` : 标签项的索引或 lay-id 属性值
- 返回值:标签内容项的 DOM 元素
重新调整视图
`tabs.setView(id);`
- 参数 `id` : tabs 容器的唯一 id 标识
- 描述:用于重新调整标签视图结构,如在容器尺寸变化时调用