new TabStrip(options)
- Description:
选项卡面板控件。每个 FineUI.Tab 作为子项,支持任意内容(含 iframe)、可关闭、右键菜单、墨水条等。
相关在线示例:
Examples
创建选项卡面板,通过items配置多个标签页,activeTabIndex指定默认激活的标签:
FineUI.create({
type: 'TabStrip', renderTo: document.body, width: 400, height: 200, activeTabIndex: 0,
items: [{
type: 'Tab', title: '标签一', bodyPadding: 10, content: '第一个标签的内容'
}, {
type: 'Tab', title: '标签二', bodyPadding: 10, content: '第二个标签的内容'
}, {
type: 'Tab', title: '标签三', bodyPadding: 10, content: '第三个标签的内容'
}]
});
使用closable: true让标签可关闭,icon设置标签图标:
FineUI.create({
type: 'TabStrip', renderTo: document.body, width: 400, height: 200,
items: [{
type: 'Tab', title: '标签一', closable: true, bodyPadding: 10, content: '可关闭', icon: '../res/icon/tag_pink.png'
}, {
type: 'Tab', title: '标签二', closable: true, bodyPadding: 10, content: '可关闭', icon: '../res/icon/tag_purple.png'
}]
});
使用tabPosition调整标题位置(top/bottom/left/right),tabAlign调整对齐方式:
FineUI.create({
type: 'TabStrip', renderTo: document.body, width: 400, height: 200,
tabPosition: 'left', tabAlign: 'center',
items: [{
type: 'Tab', title: '标签一', bodyPadding: 10, content: '内容一'
}, {
type: 'Tab', title: '标签二', bodyPadding: 10, content: '内容二'
}]
});
使用iframe: true和iframeUrl将选项卡内容设为内联框架:
FineUI.create({
type: 'TabStrip', renderTo: document.body, width: 600, height: 400,
items: [{
type: 'Tab', title: 'IFRAME 选项卡', closable: true, iframe: true, iframeUrl: 'http://fineui.com/'
}]
});
通过FineUI.TabStrip#event:tabchange事件监听选项卡切换:
FineUI.create({
type: 'TabStrip', renderTo: document.body, width: 400, height: 200,
items: [{
type: 'Tab', title: '标签一', bodyPadding: 10, content: '内容一'
}, {
type: 'Tab', title: '标签二', bodyPadding: 10, content: '内容二'
}],
listeners: {
tabchange: function (event, tab) {
FineUI.alert('切换到:' + tab.getTitle());
}
}
});
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | 初始参数 Properties
|
Extends
Members
bodyEl :jQuery
- Description:
控件主体对应的jQuery节点对象
- Inherited From:
控件主体对应的jQuery节点对象
Type:
- jQuery
el :jQuery
- Description:
控件对应的jQuery节点对象
- Inherited From:
控件对应的jQuery节点对象
Type:
- jQuery
items :Object
- Description:
子控件列表
- Inherited From:
子控件列表
Type:
- Object
Methods
activateTab(tabId, moveToEndopt)
- Description:
激活选项卡(与
setActiveTab类似;区别:activateTab不接受索引,仅tabId字符串)
Example
程序激活已存在的 Tab:
FineUI.ui.tabstrip1.activateTab('tab_user_list');
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
tabId |
number | string | 选项卡 |
||
moveToEnd |
boolean |
<optional> |
false
|
是否将选项卡移到尾部 |
activeNearTab()
- Description:
激活附近的选项卡
activeNextTab()
- Description:
激活下一个选项卡
addTab(options) → {FineUI.Tab}
- Description:
添加选项卡(典型场景:菜单点击后打开新 iframe Tab;如果
id已存在,默认会刷新该 Tab 而非重复创建)
Examples
从菜单/链接动态打开 iframe Tab,重复点击同一项会刷新而非新建:
FineUI.ui.tabstrip1.addTab({
id: 'tab_user_list',
iframe: true, iframeUrl: '/user/list.aspx',
title: '用户列表', closable: true
});
禁用"重复打开时刷新"行为:
FineUI.ui.tabstrip1.addTab({
id: 'tab_settings',
iframe: true, iframeUrl: '/settings.aspx',
title: '设置', closable: true,
refreshWhenExist: false // 已存在则只激活,不刷新 iframe
});
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | 参数 Properties
|
Returns:
选项卡实例
- Type
- FineUI.Tab
addTool(item)
- Description:
添加工具图标
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
item |
FineUI.Tool | 工具图标实例 |
closeAllTabs()
- Description:
关闭全部选项卡(触发选项卡的close事件,并根据选项卡的removeOnClose属性决定是否移除选项卡实例)
closeOtherTabs(exceptedTab)
- Description:
关闭其他选项卡(触发选项卡的close事件,并根据选项卡的removeOnClose属性决定是否移除选项卡实例)
Parameters:
| Name | Type | Description |
|---|---|---|
exceptedTab |
number | string | 被排除在外的选项卡 |
closeTab(tabId)
- Description:
关闭选项卡(触发选项卡的close事件,并根据选项卡的
removeOnClose属性决定是销毁还是隐藏)
Example
程序关闭指定 Tab:
FineUI.ui.tabstrip1.closeTab('tab_user_list');
Parameters:
| Name | Type | Description |
|---|---|---|
tabId |
number | string | 选项卡 |
collapse()
- Description:
折叠面板(程序触发;启用
collapsible: true时有效)
- Inherited From:
Example
程序折叠侧栏:
FineUI.ui.panelSide.collapse();
expand()
- Description:
展开面板(与
collapse对应)
- Inherited From:
getActiveTab() → {FineUI.Tab}
- Description:
获取激活的选项卡
Returns:
选项卡实例
- Type
- FineUI.Tab
getActiveTabId() → {string}
- Description:
获取激活的选项卡标识
Returns:
选项卡标识
- Type
- string
getActiveTabIndex() → {number}
- Description:
获取激活的选项卡索引
Returns:
选项卡索引
- Type
- number
getClosableTabCount(exceptedTab) → {number}
- Description:
获取可关闭的选项卡个数
Parameters:
| Name | Type | Description |
|---|---|---|
exceptedTab |
number | string | 被排除在外的选项卡 |
Returns:
选项卡个数
- Type
- number
getEncodedText(text) → {string}
- Description:
获取编码后的字符串
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
text |
string | 原始字符串 |
Returns:
编码后的字符串
- Type
- string
getFormFields() → {Array.<FineUI.Field>}
- Description:
获取容器内(深度遍历)所有表单字段实例(FineUI.Field的子类,如TextBox/NumberBox/DatePicker等)
- Inherited From:
Example
遍历表单全部字段,序列化为 name → value 的对象(用于自定义 ajax 提交;字段未声明name时改用id):
var values = {};
FineUI.ui.form1.getFormFields().forEach(function (field) {
values[field.name || field.id] = field.getValue();
});
// values 形如:{ tbxUserName: 'FineUIPro', numberAge: 30, ... }
Returns:
表单字段数组
- Type
- Array.<FineUI.Field>
getIFrameEl() → {jQuery}
- Description:
获取内联框架元素
- Inherited From:
Returns:
内联框架元素
- Type
- jQuery
getIFrameUrl() → {string}
- Description:
获取内联框架地址
- Inherited From:
Returns:
内联框架地址
- Type
- string
getIFrameWindow() → {Window}
- Description:
获取内联框架窗体对象
- Inherited From:
Returns:
内联框架窗体对象
- Type
- Window
getItem(value) → {FineUI.Component}
- Description:
获取子控件(按索引/标识符/匹配函数查找;通常配合
items无显式 id 的场景,比按FineUI.ui[id]更精准)
- Inherited From:
Examples
按索引取第一个子控件:
var firstChild = FineUI.ui.toolbar1.getItem(0);
按 id 取子控件:
var btn = FineUI.ui.toolbar1.getItem('btnSave');
按匹配函数找第一个匹配的子控件(函数对每项返回 true 即匹配):
var btn = FineUI.ui.toolbar1.getItem(function (item) {
return item.type === 'Button' && item.text === '保存';
});
Parameters:
| Name | Type | Description |
|---|---|---|
value |
number | string | function | 子控件索引、标识符或者匹配函数 |
Returns:
子控件实例
- Type
- FineUI.Component
getTab(value) → {FineUI.Tab}
- Description:
获取选项卡
Parameters:
| Name | Type | Description |
|---|---|---|
value |
number | string | 选项卡 |
Returns:
选项卡实例
- Type
- FineUI.Tab
getTitleTooltip() → {string}
- Description:
获取面板标题提示信息
- Inherited From:
Returns:
标题提示信息
- Type
- string
getVisibleTabCount() → {number}
- Description:
获取显示选项卡的个数
Returns:
选项卡个数
- Type
- number
hasHScrollbar() → {boolean}
- Description:
是否存在水平滚动条
- Inherited From:
Returns:
是否存在水平滚动条
- Type
- boolean
hasVScrollbar() → {boolean}
- Description:
是否存在垂直滚动条
- Inherited From:
Returns:
是否存在垂直滚动条
- Type
- boolean
hidePopEl()
- Description:
隐藏容器内的所有弹出框
- Inherited From:
insertTool(insertIndex, item)
- Description:
插入工具图标
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
insertIndex |
number | 插入的位置 |
item |
FineUI.Tool | 工具图标实例 |
isCollapsed() → {boolean}
- Description:
是否处于折叠状态
- Inherited From:
Returns:
折叠状态
- Type
- boolean
isType(value) → {boolean}
- Description:
检测当前实例是否指定的控件类型
- Inherited From:
Example
grid1.isType('panel') // 返回true
grid1.isType('grid') // 返回true
Parameters:
| Name | Type | Description |
|---|---|---|
value |
Object | 控件类型 |
Returns:
如果当前实例是指定的控件类型,返回true;否则返回false
- Type
- boolean
refreshIFrame()
- Description:
刷新内联框架
- Inherited From:
scrollToTab(value)
- Description:
滚动到选项卡
Parameters:
| Name | Type | Description |
|---|---|---|
value |
number | string | 选项卡 |
setActiveTab(value, moveToEnd) → {boolean}
- Description:
设置激活选项卡
Parameters:
| Name | Type | Description |
|---|---|---|
value |
number | string | 选项卡索引、标识符 |
moveToEnd |
boolean | 将选项卡移到尾部 |
Returns:
是否激活成功
- Type
- boolean
setIFrameUrl(url)
- Description:
设置内联框架地址
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
url |
string | 内联框架地址 |
setSplitDraggable() → {boolean}
- Description:
设置分隔条是否可以拖动
- Inherited From:
Returns:
是否可以拖动
- Type
- boolean
setTitleTooltip(tooltip)
- Description:
设置面板标题提示信息
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
tooltip |
string | 提示信息字符串 |
showTab(tabId, moveToEnd)
- Description:
显示选项卡
Parameters:
| Name | Type | Description |
|---|---|---|
tabId |
number | string | 选项卡 |
moveToEnd |
boolean | 将选项卡移到尾部 |
toggleCollapse()
- Description:
切换面板的折叠状态
- Inherited From:
Events
alltabsclose
- Description:
全部选项卡关闭时触发
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
beforehide
- Description:
隐藏控件之前触发(返回false则取消隐藏操作)
- Inherited From:
beforeshow
- Description:
显示控件之前触发(返回false则取消显示操作)
- Inherited From:
beforetabcontextmenu
- Description:
右键点击选项卡时触发(返回false则阻止浏览器默认的右键菜单)
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
tabId |
string | 选项卡标识符 |
collapse
- Description:
折叠面板时触发(启用
collapsible: true时;用户点击折叠图标或调用collapse()都会触发)
- Inherited From:
Example
侧栏折叠后让中央面板"伸开"覆盖空间:
FineUI.ui.panelSide.on('collapse', function () {
FineUI.ui.panelMain.setWidth(window.innerWidth);
});
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
dirtychange
- Description:
容器内的字段值改变时触发
- Inherited From:
expand
- Description:
展开面板时触发(与
collapse事件对应)
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
hide
- Description:
隐藏控件时触发
- Inherited From:
iframeload
- Description:
内联框架加载完毕时触发(启用
iframe: true时;常用于和 iframe 内部脚本通讯)
- Inherited From:
Example
iframe 加载完成后给子页面注入参数:
FineUI.create({
type: 'Window', iframe: true, iframeUrl: '/detail.aspx',
listeners: {
iframeload: function () {
var iframeWin = this.getIFrameWindow();
iframeWin.someInitFunction({ userId: 101 });
}
}
});
layout
- Description:
布局控件时触发
- Inherited From:
remove
- Description:
移除控件时触发(调用
remove()时,控件 DOM 被销毁之前触发;可用于清理外部资源 / 解绑全局事件)
- Inherited From:
render
- Description:
渲染控件时触发
- Inherited From:
resize
- Description:
面板尺寸改变时触发
- Inherited From:
show
- Description:
显示控件时触发
- Inherited From:
splitdrag
- Description:
拖动分隔条时触发(拖动操作)
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
tabchange
- Description:
选项卡切换时触发
- 关闭非活跃的选项卡时,不会触发tabchange事件
- 关闭活跃的选项卡时:
- 如果此选项卡是仅存的一个选项卡,则会触发一次tabsclose和alltabsclose事件
- 如果还存在其他选项卡,则会尝试激活上一次活跃的选项卡,并触发tabchange事件
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
tab |
FineUI.Tab | 激活的选项卡实例(如果是关闭全部选项卡时触发,则此参数为空) |
tabclose
- Description:
选项卡关闭时触发
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |
tab |
FineUI.Tab | 关闭的选项卡实例 |
tabsclose
- Description:
全部可关闭的选项卡(closable==true)关闭时触发
Parameters:
| Name | Type | Description |
|---|---|---|
event |
jQuery.Event | 事件对象 |