-
布局
-
表单
-
通知
-
导航
-
其它
表格 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 |