- 快速上手
-
布局
- 卡片 JRCard
- 容器布局 JRContainer
- 表格 JRTable
-
表单
- 按钮 JRButton
- 复选框 JRCheck
- 复选组 JRCheckGroup
- 日期选择 JRDatePicker
- 表单 JRForm
- 输入框 JRInput
- 多级选择 JRMultiSelect
- 单选组 JRRadioGroup
- 下拉选择 JRSelect
- 开关 JRSwitch
- 展示文本 JRText
- 文本输入 JRTextArea
- 树型视图 JRTreeView
- 上传文件 JRUpload
-
通知
- 遮罩 JRMask
- 模态框 JRModal
- 通知 JRNotify
- 确认提示 JRPopConfirm
-
导航
- 折叠面板 JRCollapse
- 面包屑 JRCrumb
- 两级菜单 JRMenu
- 分页 JRPager
- 菜单栏 JRSidebar
- 步骤 JRSteps
- 选项卡 JRTabs
-
拖拽相关
- 拖出 JRDraggable
- 拖入 JRDroppable
- 移动 JRMovable
- 滑块 JRSlider
-
其它
- 徽标 JRBadge
- 图标 JRIcon
- 图片预览 JRImagePreview
- 加载 JRLoading
- 国际化 JRLocaleProvider
- 进度条 JRProgress
- 文字提示 JRTooltip
代码演示
基本使用形式一:配置模板
|
|
基本使用形式二:数据配置
在进行数据配置时,模版的配置方式更为灵活。
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
通过 jr-table-template 组件定义单元格和表头的模版,可以将模版内嵌到组件中,也可以将模版注入到组件的 template 属性。
自定义模版中可以通过 emit 的方法向上抛出事件。
如果模版直接写在jr-table当中,这部分模版会被作为footer模版进行渲染。这部分模版不需要进行特殊的字符串处理,并可以直接进行数据绑定。
要在模版中使用自定义的 filter 则需要通过 JRUI.JRTable.$filter 方法 将其先注册到 JRUI.JRTable 上。
要在模版中使用自定义的组件则需要通过 JRUI.JRTable.$component 方法 将其先注册到 JRUI.JRTable 上。
注意:
- 内嵌形式的模版需要在每行的两端加上
{'、'},否则模版字符串的插值会无法传递给模版组件, - 原有的
emitEvent方法不建议使用,但仍然保留。
jr-table-col上亦可以直接传入对应的模版属性, template,headerTemplate,formatter,headerFormatter,format,headerFormat。
|
|
自定义行样式
通过设置 item.rowClass 或 item.rowStyle 修改每一行的样式。
|
|
排序
没有实际的排序效果,请查看 console 打印的事件对象。
|
|
分页
分页的配置参考 分页 Pager 。
|
|
分页
分页的配置参考 分页 Pager 。
|
|
隐藏列
需要通过 index 指定顺序,否则会乱序。
|
|
行展开
|
|
空数据
|
|
加载中
|
|
模版中获取外部数据的方法
由于组件的设计结构比较特殊,表格中表头和内容分别是两个独立的组件,因此 jr-table 上挂载的属性无法直接传递到表头和内容当中。
如有需要取得外部的数据,则需要通过 $table.data 或者 $tableData 去获取。
|
|
特殊
由于组件内部有部分模版是使用字符串形式存储,只有在使用时才是进行解析,因此当页面对 Regular 的插值符号进行修改时,需要进行特殊处理。
为了向组件内部传递新修改的插值,需要在 Regular 下挂载两个新的属性 _BEGIN_, _END_。
|
API
Classes
JRTable
Kind: global class
Extend: Component
new JRTable()
| 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 排序事件”
Kind: event emitted by JRTable
Properties
| Name | Type | Description |
|---|---|---|
| sender | object |
事件来源 |
| asc | boolean |
是否升序 |
| column | object |
目标列 |
| columnIndex | number |
目标列序号 |
| key | string |
排序字段 |
| sorting | object |
排序设置对象 |
“checkchange 多选事件”
Kind: event emitted by JRTable
Properties
| Name | Type | Description |
|---|---|---|
| sender | object |
事件来源 |
| checked | boolean |
是否选中 |
| item | object |
操作对象 |
| checkedEvent | object |
多选事件对象源 |
“type 自定义的操作事件”
Kind: event emitted by JRTable
Properties
| Name | Type | Description |
|---|---|---|
| sender | object |
事件来源 |
| custom | boolean |
自定义事件标识 |
| param | array |
自定义事件所带的参数 |
“paging 分页事件”
Kind: event emitted by JRTable
Properties
| Name | Type | Description |
|---|---|---|
| sender | object |
事件来源 |
| current | number |
事件来源 |
| paging | object |
分页对象 |
| pagingEvent | object |
Pager 的分页事件 |
JRTableCol
Kind: global class
Extend: Component
new JRTableCol()
| 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 |
=> 下钻展开内容模版 |
JRTableTemplate
Kind: global class
Extend: Component
new JRTableTemplate()
| Param | Type | Default | Description |
|---|---|---|---|
| [options.data] | object |
= 绑定属性 | |
| [options.data.type] | string |
"content" |
=> 模版类型, header, content |