- 
                    布局
 - 
                    表单
 - 
                    通知
 - 
                    导航
 - 
                    其它
 
表格 KLTable
代码演示
基本使用形式一:配置模板
  | 
  | 
基本使用形式二:数据配置
在进行数据配置时,模版的配置方式更为灵活。
template,模版字符串;format,纯粹的字符串格式化,不对html进行渲染,保留插值语法;formatter,通过函数返回模版字符串,适用于当模版需要动态运算生成的情景。
加上前缀 header 成为 headerTemplate,headerFormat,headerFormatter,可作为表头的模版。
  | 
  | 
多选
通过 enableCheckAll 使能全选按钮
  | 
  | 
显示样式配置项
- 无条纹:
strip={false} - 占位符:默认
placeholder="-" - 对齐:默认 
align="center" 
  | 
  | 
过滤器
filter 接收一个 function,依次可以取得参数 val,item,itemIndex。
  | 
  | 
多级表头
  | 
  | 
悬浮表头和底部
控制表头和底部的悬浮需要对 scroll 事件进行监听,在默认的情况下,监听对象是 window,即页面的滚动。
如果页面布局比较特殊,需要指定监听的对象,则可以通过 scrollParent 指定会发生滚动的容器,如 scrollParent="#example"。
  | 
  | 
表头固定在表格顶部
  | 
  | 
固定列
  | 
  | 
自定义模版与filter
通过 kl-table-template 组件定义单元格和表头的模版,可以将模版内嵌到组件中,也可以将模版注入到组件的 template 属性。
自定义模版中可以通过 emit 的方法向上抛出事件。
如果模版直接写在kl-table当中,这部分模版会被作为footer模版进行渲染。这部分模版不需要进行特殊的字符串处理,并可以直接进行数据绑定。
要在模版中使用自定义的 filter 则需要通过 NEKUI.KLTable.$filter 方法 将其先注册到 NEKUI.KLTable 上。
要在模版中使用自定义的组件则需要通过 NEKUI.KLTable.$component 方法 将其先注册到 NEKUI.KLTable 上。
注意:
- 内嵌形式的模版需要在每行的两端加上 
{'、'},否则模版字符串的插值会无法传递给模版组件, - 原有的 
emitEvent方法不建议使用,但仍然保留。 
kl-table-col上亦可以直接传入对应的模版属性, template,headerTemplate,formatter,headerFormatter,format,headerFormat。
  | 
  | 
自定义行样式
通过设置 item.rowClass 或 item.rowStyle 修改每一行的样式。
  | 
  | 
排序
没有实际的排序效果,请查看 console 打印的事件对象。
  | 
  | 
分页
分页的配置参考 分页 Pager 。
  | 
  | 
分页
分页的配置参考 分页 Pager 。
  | 
  | 
隐藏列
需要通过 index 指定顺序,否则会乱序。
  | 
  | 
行展开
  | 
  | 
空数据
  | 
  | 
加载中
  | 
  | 
模版中获取外部数据的方法
由于组件的设计结构比较特殊,表格中表头和内容分别是两个独立的组件,因此 kl-table 上挂载的属性无法直接传递到表头和内容当中。
如有需要取得外部的数据,则需要通过 $table.data 或者 $tableData 去获取。
  | 
  | 
特殊
由于组件内部有部分模版是使用字符串形式存储,只有在使用时才是进行解析,因此当页面对 Regular 的插值符号进行修改时,需要进行特殊处理。
为了向组件内部传递新修改的插值,需要在 Regular 下挂载两个新的属性 _BEGIN_, _END_。
  | 
API
KLTable
KLTable
| Param | Type | Default | Description | 
|---|---|---|---|
| [options.data] | object | 
= 绑定属性 | |
| [options.data.source] | array | 
=> 数据源 | |
| [options.data.paging] | object | 
=> 分页 | |
| [options.data.sorting] | object | 
=> 排序 | |
| [options.data.stickyHeader] | boolean | 
=> 将表头固定到页面顶部 | |
| [options.data.stickyFooter] | boolean | 
=> 将表格底部操作固定到页面底部 | |
| [options.data.fixedHeader] | boolean | 
=> 将表头固定到表格顶部 | |
| [options.data.lineClamp] | number | 
=> 单元格行数限制 | |
| [options.data.columns] | array | 
=> 列配置 | |
| [optiosn.data.align] | string | 
"center" | 
=> 文字对齐 | 
| [optiosn.data.minColWidth] | number | 
50 | 
=> 最小列宽 | 
| [optiosn.data.loading] | boolean | 
false | 
=> 是否显示加载浮层 | 
sort 排序事件Event
| Name | Type | Description | 
|---|---|---|
| sender | object | 
事件来源 | 
| asc | boolean | 
是否升序 | 
| column | object | 
目标列 | 
| columnIndex | number | 
目标列序号 | 
| key | string | 
排序字段 | 
| sorting | object | 
排序设置对象 | 
checkchange 多选事件Event
| Name | Type | Description | 
|---|---|---|
| sender | object | 
事件来源 | 
| checked | boolean | 
是否选中 | 
| item | object | 
操作对象 | 
| checkedEvent | object | 
多选事件对象源 | 
type 自定义的操作事件Event
| Name | Type | Description | 
|---|---|---|
| sender | object | 
事件来源 | 
| custom | boolean | 
自定义事件标识 | 
| param | array | 
自定义事件所带的参数 | 
paging 分页事件Event
| Name | Type | Description | 
|---|---|---|
| sender | object | 
事件来源 | 
| current | number | 
事件来源 | 
| paging | object | 
分页对象 | 
| pagingEvent | object | 
Pager 的分页事件 | 
KLTableCol
KLTableCol
| Param | Type | Default | Description | |
|---|---|---|---|---|
| [options.data] | object | 
= 绑定属性 | ||
| [options.data.name] | string | 
=> 表头名称 | ||
| [options.data.key] | string | 
=> 列属性字段 | ||
| [options.data.tip] | string | 
=> 提示信息 | ||
| [options.data.type] | string | 
=> 列内容的预设类型 | ||
| [options.data.width] | string | 
=> 列宽 | ||
| [optiosn.data.minWidth] | number | 
=> 最小列宽,不设置时取全局值 minColWidth,拖动改变列宽后会被设置 | ||
| [options.data.columnClass] | string | 
=> 列内容样式 | ||
| [options.data.headerClass] | string | 
=> 表头样式 | ||
| [options.data.sortable] | boolean | 
=> 可排序 | ||
| [options.data.children] | string | 
=> 子表头 | ||
| [options.data.fixed] | boolean \ | 
string | 
=> 列固定开关,默认left为做固定,right为右固定 | |
| [optiosn.data.align] | string | 
"''" | 
=> 列文字对齐 | |
| [optiosn.data.placeholder] | string | 
"'-'" | 
=> 列文字占位符 | |
| [options.data.template] | string | 
=> 列内容模版 | ||
| [options.data.headerTemplate] | string | 
=> 列表头模版 | ||
| [options.data.expandTemplate] | string | 
=> 下钻展开内容模版 | 
KLTableTemplate
KLTableTemplate
| Param | Type | Default | Description | 
|---|---|---|---|
| [options.data] | object | 
= 绑定属性 | |
| [options.data.type] | string | 
"content" | 
=> 模版类型, header, content |