fix(tabs): 优化 close 方法在标签顺序打乱时传入 lay-id 的支持 (#2690)

* fix(tabs): 优化 close 方法在标签顺序打乱时传入 lay-id 的支持

* fix(tabs): 优化 closeMult 方法 index 参数值为 lay-id 时的无效问题

* fix(tabs): 优化 `getHeaderItem` 等方法的 `index` 参数的类型检测
This commit is contained in:
贤心
2025-06-17 15:09:36 +08:00
committed by GitHub
parent ac8d5ccc30
commit 1eb01c6706
3 changed files with 95 additions and 54 deletions

View File

@@ -136,7 +136,7 @@ tabs.add('test', {
`tabs.close(id, index, force)`
- 参数 `id` : 组件的实例 ID
- 参数 `index` : 标签索引或标签的 `lay-id` 属性值
- 参数 `index` : 若传入 number 类型,则为标签索引;若传入 string 类型,则为标签的 `lay-id` 属性值
- 参数 `force` : 是否强制关闭。若设置 `true` 将忽略 `beforeClose` 事件行为。默认 `false`
该方法用于关闭指定的标签项。
@@ -156,19 +156,23 @@ tabs.close('test', 'abc'); // 关闭 lay-id="abc" 的标签
| mode | 描述 |
| --- | --- |
| other | 关闭除当前标签外的所有标签 |
| right | 关闭当前标签右侧标签 |
| other | 关闭除当前标签外的其他标签 |
| right | 关闭当前标签右侧所有标签 |
| all | 关闭所有标签 |
- 参数 `index` : 活动标签的索引或 `lay-id` 属性值,默认取当前选中标签的索引。一般用于标签右键事件。
该方法用于批量关闭标签。
该方法用于批量关闭标签,若标签项已设置不允许关闭(`lay-closable="false"`),则操作将被忽略
```js
tabs.closeMult(id, 'other'); // 关闭除当前标签外的所有标签
tabs.closeMult(id, 'other', 3); // 关闭除索引为 3 的标签外的所有标签
tabs.closeMult(id, 'right'); // 关闭当前标签及右侧标签
tabs.closeMult(id, 'other'); // 关闭除当前活动标签外的其他标签
tabs.closeMult(id, 'other', 3); // 关闭除索引为 3 的标签外的其他标签
tabs.closeMult(id, 'other', 'ccc'); // 关闭除 lay-id="ccc" 的标签外的其他标签
tabs.closeMult(id, 'right'); // 关闭当前活动标签的右侧所有标签
tabs.closeMult(id, 'right', 3); // 关闭索引为 3 的标签的右侧所有标签
tabs.closeMult(id, 'right', 'ccc'); // 关闭 lay-id="ccc" 的标签的右侧所有标签
tabs.closeMult(id, 'all'); // 关闭所有标签
```
@@ -220,7 +224,7 @@ console.log(data);
`tabs.getHeaderItem(id, index)`
- 参数 `id` : 组件的实例 ID
- 参数 `index` : 标签索引或标签的 `lay-id` 属性值
- 参数 `index` : 若传入 number 类型,则为标签索引;若传入 string 类型,则为标签的 `lay-id` 属性值
该方法用于获取标签头部项元素。
@@ -234,7 +238,7 @@ var headerItem = tabs.getHeaderItem('test', 'abc'); // 获取 lay-id="abc" 的
`tabs.getBodyItem(id, index)`
- 参数 `id` : 组件的实例 ID
- 参数 `index` : 标签索引或标签的 `lay-id` 属性值 <sup>2.11.2+</sup>
- 参数 `index` : 若传入 number 类型,则为标签索引;若传入 string 类型,则为标签的 `lay-id` 属性值 <sup>2.11.2+</sup>
该方法用于获取标签内容项元素。