Layui的弹出层,动态添加内置层tab组件
layer.tab({
area: ['400px', '300px'],
tab: [{
title: 'TAB1',
content: '内容1'
}, {
title: 'TAB2',
content: '内容2'
}]
});
如上代码仅能够默认第一个tab标签页作为首显页面,如果我们想要指定tab标签页作为默认首显页面可以通过更改layui源码来实现
找到layer.tab源码
r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a='<span class="'+n+'">'+t[0].title+"</span>";i<e;i++)a+="<span>"+t[i].title+"</span>";return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,a="";if(e>0)for(a='<li class="layui-layer-tabli '+n+'">'+(t[0].content||"no content")+"</li>";i<e;i++)a+='<li class="layui-layer-tabli">'+(t[i].content||"no content")+"</li>";return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))}
替换为
r.tab=function(e,num){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,a="";if(e>0)for(var i=0;i<e;i++){if(i==num){a+='<span class="'+n+'">'+t[i].title+"</span>";}else{a+="<span>"+t[i].title+"</span>";}}return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,a="";if(e>0)for(var i=0;i<e;i++){if(i==num){a+='<li class="layui-layer-tabli '+n+'">'+(t[i].content||"no content")+"</li>";}else{a+='<li class="layui-layer-tabli">'+(t[i].content||"no content")+"</li>";}}return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))}
参数num:指定首显的tab数据的下标;例:num=1,首显为TAB2
title,content代码段更改:根据num设置layui-this