选项卡 KLTabs

基本形式

配置title

选项卡 KLTabs - 图1

  1. <kl-tabs>
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2">Content2</kl-tab>
    <kl-tab title="Tab3">Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    </kl-tabs>

标题模板自定义

选项卡 KLTabs - 图2

  1. <kl-tabs titleTemplate={@(this.titleTemplate)}>
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2" mark={true}>Content2</kl-tab>
    <kl-tab title="Tab3" mark={true}>Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    </kl-tabs>
  1. var component = new NEKUI.Component({
    template: template,
    titleTemplate: `
    {item.data.title} {#if item.data.mark}<span class="u-text u-text-success"><i class="u-icon u-icon-check-circle"></i></span>{/if}`
    });

默认选中Tab

需要同时设置 tabsdefaultKeytabkey

选项卡 KLTabs - 图3

  1. <kl-tabs defaultKey={defaultKey}>
    <kl-tab title="Tab1" key=0>Content1</kl-tab>
    <kl-tab title="Tab2" key=1>Content2</kl-tab>
    <kl-tab title="Tab3" key=2>Content3</kl-tab>
    <kl-tab title="Tab4" key=3>Content4</kl-tab>
    </kl-tabs>
  1. var component = new NEKUI.Component({
    template: template,
    data: {
    defaultKey: 1
    }
    });

切换重新渲染

on-change中可以做重新渲染逻辑

选项卡 KLTabs - 图4

  1. <kl-tabs on-change={this.tabChange($event)}>
    <kl-tab title="Tab1" key=0>Content1</kl-tab>
    <kl-tab title="Tab2" key=1>Content2</kl-tab>
    <kl-tab title="Tab3" key=2>Content3</kl-tab>
    <kl-tab title="Tab4" key=3>Content4</kl-tab>
    </kl-tabs>
  1. var component = new NEKUI.Component({
    template: template,
    tabChange: function(event){
    var key = event.key;
    console.log(event)
    //TODO
    }
    });

禁用某一项,禁用组件

kl-tabs标签和kl-tab标签均可设置disabled属性,控制整个tabs禁用或某个tab禁用

kl-tabs标签还可以设置visible属性,控制整个tabs显示或隐藏

选项卡 KLTabs - 图5

  1. <div class="g-row">
    <div class="g-col g-col-6">
    <kl-tabs>
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2">Content2</kl-tab>
    <kl-tab title="Tab3" disabled>Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    </kl-tabs>
    </div>
    <div class="g-col g-col-6">
    <kl-tabs disabled>
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2">Content2</kl-tab>
    <kl-tab title="Tab3">Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    </kl-tabs>
    </div>
    </div>

居中

通过配置class属性可以自定义样式,可用m-tabs-center实现居中

选项卡 KLTabs - 图6

  1. <kl-tabs class="m-tabs-center">
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2">Content2</kl-tab>
    <kl-tab title="Tab3">Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    </kl-tabs>

左右滚动箭头

当tab过多时会自动出现左右滚动箭头(与class: m-tabs-center冲突)

当DOM加载比较慢时,可能会出现初始左右滚动箭头不出现。是由于regular无法获取dom加载完成事件导致,待解决

选项卡 KLTabs - 图7

  1. <kl-row>
    <kl-col span=4>
    <kl-tabs>
    <kl-tab title="Tab1">Content1</kl-tab>
    <kl-tab title="Tab2">Content2</kl-tab>
    <kl-tab title="Tab3">Content3</kl-tab>
    <kl-tab title="Tab4">Content4</kl-tab>
    <kl-tab title="Tab5">Content5</kl-tab>
    <kl-tab title="Tab6">Content6</kl-tab>
    </kl-tabs>
    </kl-col>
    </kl-row>

事件

请打开浏览器的控制台查看结果。

选项卡 KLTabs - 图8

  1. <kl-tabs on-select={this.tabSelected($event)} on-change={this.tabChanged($event)}>
    <kl-tab title="Tab1" key="1">Content1</kl-tab>
    <kl-tab title="Tab2" key="2">Content2</kl-tab>
    <kl-tab title="Tab3" key="3">Content3</kl-tab>
    <kl-tab title="Tab4" key="4">Content4</kl-tab>
    </kl-tabs>
  1. var component = new NEKUI.Component({
    template: template,
    tabSelected: function(event){
    console.log('selected: ', event.selected);
    },
    tabChanged: function(event){
    console.log('changed: ', event.key);
    }
    });

API

KLTabs

KLTabs

ParamTypeDefaultDescription
[options.data]object= 绑定属性
[options.data.selected]object<=> 当前选择卡
[options.data.titleTemplate]stringnull@=> 标题模板
[options.data.defaultKey]stringnull=> 默认显示对应 key 的 Tab
[options.data.readonly]booleanfalse=> 是否只读
[options.data.disabled]booleanfalse=> 是否禁用
[options.data.visible]booleantrue=> 是否显示
[options.data.class]string=> 补充class

change 选项卡改变时触发Event

NameTypeDescription
senderobject事件发送对象
selectedobject改变后的选项卡

select 选择某一项时触发Event

NameTypeDescription
senderobject事件发送对象
selectedobject当前选择卡

KLTab

KLTab

ParamTypeDefaultDescription
[options.data]object= 绑定属性
[options.data.title]string=> 标题
[options.data.key]stringnull=> key 标识