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)`
|
`tabs.close(id, index, force)`
|
||||||
|
|
||||||
- 参数 `id` : 组件的实例 ID
|
- 参数 `id` : 组件的实例 ID
|
||||||
- 参数 `index` : 标签索引或标签的 `lay-id` 属性值
|
- 参数 `index` : 若传入 number 类型,则为标签索引;若传入 string 类型,则为标签的 `lay-id` 属性值
|
||||||
- 参数 `force` : 是否强制关闭。若设置 `true` 将忽略 `beforeClose` 事件行为。默认 `false`
|
- 参数 `force` : 是否强制关闭。若设置 `true` 将忽略 `beforeClose` 事件行为。默认 `false`
|
||||||
|
|
||||||
该方法用于关闭指定的标签项。
|
该方法用于关闭指定的标签项。
|
||||||
|
@ -224,7 +224,7 @@ console.log(data);
|
||||||
`tabs.getHeaderItem(id, index)`
|
`tabs.getHeaderItem(id, index)`
|
||||||
|
|
||||||
- 参数 `id` : 组件的实例 ID
|
- 参数 `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)`
|
`tabs.getBodyItem(id, index)`
|
||||||
|
|
||||||
- 参数 `id` : 组件的实例 ID
|
- 参数 `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) {
|
Class.prototype.findHeaderItem = function(index) {
|
||||||
var container = this.getContainer();
|
var container = this.getContainer();
|
||||||
var headerItems = container.header.items;
|
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) {
|
Class.prototype.findBodyItem = function(index) {
|
||||||
var container = this.getContainer();
|
var container = this.getContainer();
|
||||||
var bodyItems = container.body.items;
|
var bodyItems = container.body.items;
|
||||||
var bodyItem = bodyItems.filter('[lay-id="'+ index +'"]');
|
|
||||||
|
|
||||||
return bodyItem[0] ? bodyItem : function() {
|
// 根据 lay-id 匹配
|
||||||
// 若未匹配到 lay-id 对应内容项,则继续匹配对应头部项
|
if (typeof index === 'string') {
|
||||||
var headerItems = container.header.items;
|
var bodyItem = bodyItems.filter('[lay-id="'+ index +'"]');
|
||||||
var headerItem = headerItems.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]) {
|
return bodyItems.eq(index);
|
||||||
index = headerItem.index();
|
|
||||||
}
|
|
||||||
|
|
||||||
return bodyItems.eq(index);
|
|
||||||
}();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue