按钮 KLButton

按钮类型

主按钮、次按钮、弱按钮及不可点4种状态,主按钮在同一操作区只能出现一个

按钮 KLButton - 图1

  1. <kl-button type="primary" title="主按钮" />
    <kl-button type="secondary" title="次按钮" />
    <kl-button title="弱按钮" />
    <kl-button disabled={true} title="不可点" />

图标按钮

按钮内含icon,主要用在表单外的操作按钮里

按钮 KLButton - 图2

  1. <kl-button action="add" title="添加" class="doc-iconBtn" />
    <kl-button action="reject" title="驳回" class="doc-iconBtn" />
    <kl-button action="pass" title="通过" class="doc-iconBtn" />
    <kl-button action="copy" title="复制" class="doc-iconBtn" />
    <kl-button action="download" title="下载" class="doc-iconBtn" />
    <kl-button action="upload" title="上传" class="doc-iconBtn" />
    <kl-button action="remove" title="删除" class="doc-iconBtn" />
    <kl-button action="search" title="查询" class="doc-iconBtn" />

加载中的按钮

按钮 KLButton - 图3

  1. <kl-button action="update" loading />

按钮尺寸

小按钮多用于表格中,kl-card中操作按钮也推荐使用小尺寸

按钮 KLButton - 图4

  1. <kl-button type="primary" title="主按钮" size="sm" />
    <kl-button type="secondary" title="次按钮" size="sm" />
    <kl-button title="弱按钮" size="sm" />
    <kl-button disabled={true} title="不可点" size="sm" />

按钮下载文件

列表中经常遇到导出的需求,通过一个异步请求返回一个下载链接,然后直接触发下载;可以通过设置按钮的download属性来实现

按钮 KLButton - 图5

  1. <kl-button action="download" download={download} title="导出文件" on-click={this.download()} />
  1. var component = new NEKUI.Component({
    template: template,
    download: function() {
    this.data.download = 'https://haitao.nos.netease.com/644804ef-91de-46cb-a663-cb90d9015122.jpg'
    }
    });

按钮与异步请求结合

实际业务中推荐在全局改动一下异步请求的方法,传入一个btn参数,请求开始的时候设置btn为loading的状态,结束的时候还原回来。点击一下查看效果

按钮 KLButton - 图6

  1. <kl-button title="保存" on-click={this.save($event)} />
  1. var component = new NEKUI.Component({
    template: template,
    save: function(e) {
    var url = '/example/api';
    var opts = {
    //传入btn
    btn: e.sender
    }
    this.request(url, opts);
    },
    //模拟一个请求
    request: function(url, opts) {
    var btn = opts.btn;
    var self = this;
    //发送请求开始的时候设置按钮为loading状态
    btn && btn.$update('loading', true);
    self.$update('loading', true);
    //2s后成功返回
    setTimeout(function() {
    self.$update('loading', false);
    btn && btn.$update('loading', false);
    self.data.loading = false;
    self.$update();
    }, 2000)
    }
    });

API

KLButton

KLButton

ParamTypeDefaultDescription
[options.data]object= 绑定属性
[options.data.title]string"确定"=> 按钮标题
[options.data.type]string"default"=> 按钮样式, primary, secondary, default
[options.data.size]string"normal"=> 按钮大小, sm
[options.data.icon]string=> 按钮图标,action不能满足需求时使用;
[options.data.action]string=> 按钮操作类型, 每种类型有对应的icon;
[options.data.link]string=> 按钮的链接
[options.data.target]string"_self"=> 按钮链接的打开方式
[options.data.download]string=> 下载链接
[options.data.loading]booleanfalse=> 是否正在加载
[options.data.disabled]booleanfalse=> 禁止按钮
[options.data.class]booleanfalse=> 样式扩展

click 按钮点击事件Event

NameTypeDescription
senderobject事件发送对象
eobjectevent对象