<div id="test"></div>
<!-- import layui -->
<script>
layui.use(function(){
var element = layui.element;
var $ = layui.$;
// 动态插入 tab 元素
$('#test').html(`
<div class="layui-tab" lay-filter="demo-filter-tab">
<!-- … -->
// 渲染 tab 组件
element.render('tab', 'demo-filter-tab');
</script>
添加 tab
element.tabAdd(filter, options);
参数 filter : tab 容器(class="layui-tab")的 lay-filter 属性值
参数 options : 添加 tab 时的属性选项,见下表:
options
element.tabDelete(filter, layid, force);
参数 filter : tab 容器(class="layui-tab")的 lay-filter 属性值
参数 layid : 选项卡标题元素的 lay-id 属性值
参数 force 2.9.21+
: 是否强制删除 tab。若设置 true 将忽略 tabBeforeDelete 事件行为。默认 false
该方法用于删除 tab 选项。用法详见 : #示例
切换 tab
element.tabChange(filter, layid, force);
参数 filter : tab 容器(class="layui-tab")的 lay-filter 属性值
参数 layid : 选项卡标题元素的 lay-id 属性值
参数 force 2.9.15+
: 是否强制执行 tab 切换。设置 true 将忽略 tabBeforeChange 事件行为。默认 false
该方法用于切换到对应的 tab 选项。用法详见 : #示例
自定义 tab
element.tab(options);
参数 options : 属性选项,见下表:
options
// tab 切换事件
element.on('tab(filter)', function(data){
console.log(this); // 当前 tab 标题所在的原始 DOM 元素
console.log(data.index); // 得到当前 tab 项的所在下标
console.log(data.elem); // 得到当前的 tab 容器
console.log(data.id); // 得到当前的 tab ID(2.9.11+)
tab 切换前的事件 2.9.15+
element.on('tabBeforeChange(filter)', callback);
参数 tabBeforeChange(filter) 是一个特定结构。
tabBeforeChange 为 tab 切换前事件固定值;
filter 为 tab 容器属性 lay-filter 对应的值。
参数 callback 为事件执行时的回调函数,并返回一个 object 类型的参数。
点击 tab 选项切换前触发。
var element = layui.element;
// tab 切换前的事件
element.on('tabBeforeChange(filter)', function(data){
console.log(data.elem); // 得到当前的 tab 容器
console.log(data.from.index); // 得到切换前的 tab 项所在下标
console.log(data.from.id); // 得到切换前的 tab 项所在ID
console.log(data.to.index); // 得到切换后的 tab 项所在下标
console.log(data.to.id); // 得到切换后的 tab 项所在ID
if(data.to.id === 'home') return false; // 返回 false 时阻止切换到对应的选项卡
tab 删除事件
element.on('tabDelete(filter)', callback);
参数 tabDelete(filter) 是一个特定结构。
tabDelete 为 tab 删除事件固定值;
filter 为 tab 容器属性 lay-filter 对应的值。
参数 callback 为事件执行时的回调函数,并返回一个 object 类型的参数。
点击 tab 选项删除时触发。
var element = layui.element;
// tab 删除事件
element.on('tabDelete(filter)', function(data){
console.log(data.index); // 得到被删除的 tab 项的所在下标
console.log(data.elem); // 得到当前的 tab 容器
console.log(data.id); // 得到被删除的 tab 项的 ID(2.9.11+)
tab 删除前的事件 2.9.11+
element.on('tabBeforeDelete(filter)', callback);
参数 tabBeforeDelete(filter) 是一个特定结构。
tabBeforeDelete 为 tab 删除前事件固定值;
filter 为 tab 容器属性 lay-filter 对应的值。
参数 callback 为事件执行时的回调函数,并返回一个 object 类型的参数。
点击 tab 选项删除前触发。 示例: