mirror of https://github.com/layui/layui
fix(tabs): 优化 `getHeaderItem` 等方法的 `index` 参数的类型检测
parent
40c3e72ea3
commit
1c7194ded3
|
@ -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`
|
||||
|
||||
该方法用于关闭指定的标签项。
|
||||
|
@ -224,7 +224,7 @@ console.log(data);
|
|||
`tabs.getHeaderItem(id, index)`
|
||||
|
||||
- 参数 `id` : 组件的实例 ID
|
||||
- 参数 `index` : 标签索引或标签的 `lay-id` 属性值
|
||||
- 参数 `index` : 若传入 number 类型,则为标签索引;若传入 string 类型,则为标签的 `lay-id` 属性值
|
||||
|
||||
该方法用于获取标签头部项元素。
|
||||
|
||||
|
@ -238,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>
|
||||
|
||||
该方法用于获取标签内容项元素。
|
||||
|
||||
|
|
|
@ -662,30 +662,35 @@ layui.define('component', function(exports) {
|
|||
Class.prototype.findHeaderItem = function(index) {
|
||||
var container = this.getContainer();
|
||||
var headerItems = container.header.items;
|
||||
var headerItem = headerItems.filter('[lay-id="'+ index +'"]');
|
||||
return headerItem[0] ? headerItem : headerItems.eq(index);
|
||||
|
||||
// 根据 lay-id 匹配
|
||||
if (typeof index === 'string') {
|
||||
return headerItems.filter('[lay-id="'+ index +'"]');
|
||||
}
|
||||
|
||||
return headerItems.eq(index);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取标签内容项
|
||||
* @param {number} index - 标签索引或 lay-id
|
||||
* @param {number|string} index - 标签索引或 lay-id
|
||||
*/
|
||||
Class.prototype.findBodyItem = function(index) {
|
||||
var container = this.getContainer();
|
||||
var bodyItems = container.body.items;
|
||||
var bodyItem = bodyItems.filter('[lay-id="'+ index +'"]');
|
||||
|
||||
return bodyItem[0] ? bodyItem : function() {
|
||||
// 若未匹配到 lay-id 对应内容项,则继续匹配对应头部项
|
||||
var headerItems = container.header.items;
|
||||
var headerItem = headerItems.filter('[lay-id="'+ index +'"]');
|
||||
// 根据 lay-id 匹配
|
||||
if (typeof index === 'string') {
|
||||
var bodyItem = bodyItems.filter('[lay-id="'+ index +'"]');
|
||||
return bodyItem[0] ? bodyItem : function() {
|
||||
// 若未匹配到 lay-id 对应内容项,则通过对应头部项的索引匹配内容项
|
||||
var headerItems = container.header.items;
|
||||
var headerItem = headerItems.filter('[lay-id="'+ index +'"]');
|
||||
return bodyItems.eq(headerItem.index());
|
||||
}();
|
||||
}
|
||||
|
||||
if (headerItem[0]) {
|
||||
index = headerItem.index();
|
||||
}
|
||||
|
||||
return bodyItems.eq(index);
|
||||
}();
|
||||
return bodyItems.eq(index);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue