- 一月
- 二月
- 三月
- 四月
- 五月
- 六月
- 七月
- 八月
- 九月
- 十月
- 十一月
- 十二月
Components
<Grid>
Use tableData prop to import table data.
Import Grid component from ssc-grid:import { Grid } from 'ssc-grid'
主键 | 单据编号 | 单据类型 | 金额 | 单据日期 | 启用 | 性别 | 组织 |
---|---|---|---|---|---|---|---|
11 | 263X2016111400000081 | 会议费借款单 | 2.00 | 2016-11-14 | true | 男 | 委外部3 |
22 | D32016091200000022 | 付款单 | 12.00 | 2016-09-12 | false | 女 | 委外部2 |
33 | 263X2016083000000025 | 差旅费借款单 | 100.00 | 2016-08-30 | true |
可以通过operationColumn
参数来对操作列进行定制
operationColumn.align = left/right
指定操作列在表格的左侧还是右侧
operationColumn.className
指定操作列的CSS 类名
operationColumn.text
指定操作列头的文字
主键 | 单据编号 | 金额 | 操作列 |
---|---|---|---|
11 | 263X2016111400000081 | 2.00 | |
22 | D32016091200000022 | 12.00 | |
33 | 263X2016083000000025 | 100.00 |
操作按钮漂浮在某一列的上面
主键 | 单据编号 | 金额 | 启用 |
---|---|---|---|
11 | 263X2016111400000081 | 2.00 | true |
22 | D32016091200000022 | 12.00 | false |
33 | 263X2016083000000025 | 100.00 | true |
使用selectRow
参数显示行选择复选框/单选框
单据编号 | 金额 | |
---|---|---|
263X2016111400000081 | 2.00 | |
D32016091200000022 | 12.00 | |
263X20160830000000345 | 100.00 | |
263X2016083000002340025 | 10430.00 | |
263X201608300005600025 | 1400.00 | |
263X2016083000567000025 | 1070.00 | |
263X2016083000234000025 | 1800.00 |
带有分页的情况
onBeforeSelect
回调
使用场景:表格其中一列定义为“启用状态”,类型为布尔,产品定义只有“已经启用”的行才能够 被勾选,当用户勾选“未启用”行时候,给出提示,并且不勾选复选框
主键 | 单据编号 | 金额 | 启用 | |
---|---|---|---|---|
11 | 263X | 2.00 | false | |
22 | D320 | 12.00 | true | |
33 | 263X | 100.00 | false |
Initialize grid with selected rows
单据编号 | 金额 | |
---|---|---|
263X2016111400000081 | 2.00 | |
D32016091200000022 | 12.00 | |
263X20160830000000345 | 100.00 | |
263X2016083000002340025 | 10430.00 | |
263X201608300005600025 | 1400.00 | |
263X2016083000567000025 | 1070.00 | |
263X2016083000234000025 | 1800.00 |
Call select method from Ref to select row
this.gridRef.select(string colId, any colValue, boolean isSelected)
单据编号 | 金额 | |
---|---|---|
263X2016111400000081 | 2.00 | |
D32016091200000022 | 12.00 | |
263X20160830000000345 | 100.00 | |
263X2016083000002340025 | 10430.00 | |
263X201608300005600025 | 1400.00 | |
263X2016083000567000025 | 1070.00 | |
263X2016083000234000025 | 1800.00 |
定义列的className,方便添加样式,比如定义列宽
在传入的参数columnsModel
中添加columnClassName
来定义HTML class。 会被添加到<th>
上。
比如下面例子中,可以通过为.table-head-jine
添加样式来设定列宽
th.table-column-jine {
width: 300px;
}
td.table-column-jine {
font-style: italic;
}
名称 | 单据编号 | 金额 | 单据日期 | 启用 |
---|---|---|---|---|
测试名称1 | 263X2016111400000081 | 2.00 | 2016-11-14 | true |
测试名称2 | D32016091200000022 | 12.00 | 2016-09-12 | false |
测试名称3 | 263X2016083000000025 | 100.00 | 2016-08-30 | true |
The align attribute of columnsModel specifies the horizontal alignment of the content in all cells in one column. align: 'right' is the shorthand or columnClassName: 'text-right'
提供三种对齐方式:left, center, right
对于type: 'double'
的情况,默认使用右对齐
主键(left) | 单据编号(center) | 金额(left) | 金额(default) | 单据日期(center) | 启用(left) | 组织(center) |
---|---|---|---|---|---|---|
11 | 263X2016111400000081 | 2.00 | 2.00 | 2016-11-14 | true | |
22 | D32016091200000022 | 12.00 | 12.00 | 2016-09-12 | false | |
33 | 263X2016083000000025 | 100.00 | 100.00 | 2016-08-30 | true |
The align attribute will override the default alignment for cells. And the columnClassName attribute will override all other alignments.
Money | Money(align: left) | Money(align: center) |
---|---|---|
1 | 1 | 1 |
在传入的参数columnsModel
中添加formatter
来指定单元格的格式化方式
不同的类型有不同的格式化参数
对于date
类型,直接使用moment().format()
进行格式化 所以具体参数请参照Moment.js文档
货币格式化参照Numeral.js文档
主键 | 单据编号 | 金额 | 金额2 | 金额3 | 单据日期 | 单据日期2 | 单据日期3 | 启用 |
---|---|---|---|---|---|---|---|---|
11 | 263X2016111400000081 | 2.00 | 2.00 | ¥2.00 | 2016-11-14 | 2016-11-14 | 星期一, 十一月 14日 2016, 8:00:00 早上 | 启用 |
22 | D32016091200000022 | 12.00 | 12.00 | ¥12.00 | 2016-09-12 | 2016-09-12 | 星期一, 九月 12日 2016, 8:00:00 早上 | 禁用 |
33 | 263X2016083000000025 | 21100.00 | 21,100.00 | ¥21,100.00 | 2016-08-30 | 2016-08-30 | 星期二, 八月 30日 2016, 8:00:00 早上 | 启用 |
主键 | 单据编号 | 单据类型 | 金额 | 单据日期 | 启用 | 性别 | 组织 |
---|---|---|---|---|---|---|---|
11 | 263X2016111400000081 | 会议费借款单 | 2.00 | 2016-11-14 | true | 男 | |
22 | D32016091200000022 | 付款单 | 12.00 | 2016-09-12 | false | 女 | |
33 | 263X2016083000000025 | 差旅费借款单 | 100.00 | 2016-08-30 | true | 男 |
沿用bootstrap的样式,具体参照Striped rows等
通过添加bordered
为表格和其中的每个单元格增加边框。
通过添加striped
可以给表体之内的每一行增加斑马条纹样式。
通过添加condensed
可以让表格更加紧凑,单元格中的内补(padding)均会减半。
通过添加hover
可以让表体中的每一行对鼠标悬停状态作出响应
主键 | 单据编号 | 单据类型 | 金额 | 单据日期 | 启用 | 性别 | 组织 |
---|---|---|---|---|---|---|---|
11 | 263X2016111400000081 | 会议费借款单 | 2.00 | 2016-11-14 | true | 男 | |
22 | D32016091200000022 | 付款单 | 12.00 | 2016-09-12 | false | 女 | |
33 | 263X2016083000000025 | 差旅费借款单 | 100.00 | 2016-08-30 | true | 男 |
演示传入空值
第一行所有列都没有数据,比如{}
第二行所有列都是undefined
,比如{"name": undefined, "code": undefined}
第三行所有列都是null
,比如{"name": undefined, "code": undefined}
主键 | 单据编号 | 单据类型 | 金额 | 单据日期 | 启用 | 性别 | 组织 |
---|---|---|---|---|---|---|---|
The event handlers below are all triggered by events in the bubbling phase.
This means onCellClick
will be called before onCellClick
,
because onCellClick
is registered on td
tag
and onCellClick
is registered on tr
tag.
ID | Note ID | Money |
---|---|---|
11 | 263X2016111400000081 | 2.00 |
22 | D3201609120000000022 | 12.00 |
33 | 263X2016083000000025 | 100.00 |
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
activePage | number | 当前页面号 | |
bordered | boolean | false | 直接映射ReactBootstrap的属性 http://getbootstrap.com/css/#tables-bordered |
columnsModel required | array<> | object | 表格模型,表头每一列的名称和类型,比如:
隐藏列
自定义格式化
| |
condensed | boolean | false | 直接映射ReactBootstrap的属性 http://getbootstrap.com/css/#tables-condensed |
hover | boolean | false | 直接映射ReactBootstrap的属性 http://getbootstrap.com/css/#tables-hover-rows |
localSearch | boolean | 是否显示搜索框 | |
notDataText | string | element | '暂无数据' | 数据为空数组时 [] ,暂无数据 |
onCellChecked | function | 选择一个单元格 | |
onCellClick | function | A callback fired when the table cell is clicked.
| |
onCellDoubleClick | function | 单元格双击事件
| |
onPagination | function | 分页 | |
onRowClick | function | 行单击事件 | |
onRowDoubleClick | function | 行双击事件 | |
onSearchChange | function | 当搜索框内容改变的时候 | |
operationColumn | object | null | 每一行是否显示操作按钮列
默认的操作按钮在最右侧的列中,如果需要指定在左侧,可以通过
注意:当操作列和选择列同时存在的时候,选择列会显示在操作列的左侧 |
operationColumnClass | elementType | 'td' | 自定义的操作列组件
除非指定了 |
paging | boolean | false | 是否显示分页 |
rowClassName | array<string> | [] | 行类名,比如
|
selectRow | object | null | 是否启用行选择,复选框/单选框
默认为
mode选项
onBeforeSelect()回调当单行的复选框/单选框的值发生改变的时候触发,如果函数返回非
onSelectAll()回调
当点击表头复选框值发生改变的时候触发,
当行被选中的时候,组件会自动往被选中的行添加 |
striped | boolean | false | 直接映射ReactBootstrap的属性 http://getbootstrap.com/css/#tables-striped |
tableClassName | string | '' | 表格内部样式名 |
tableData required | array<> | object | 表格填充数据
| |
totalPage | number | 页面数量 |
No description.
No description.
Call submit() from ref, will show validation state on form controls, then if successing in validation, will call onSubmit() callback.
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
cancelLabel | string | 取消按钮文本 | |
defaultData | object | 填充表单值
| |
fieldsModel required | array<object> | object | 表单中的数据 fieldsModel数据举例:
schema为
type字段字段类型type:
string字符型
custom 自定义类型
对于自定义类型,需要调用者传入一个组件,表单在回调该组件的时候,传入如下属性:
enum枚举型
ref参照型字段定义举例:
所有
关于 validators字段校验类型,比如
schema为:
当 disabled字段当值为 | |
layout | object | 自定义布局(bootstrap列布局) 具体参照:https://react-bootstrap.github.io/components.html#grid-props-col
| |
okLabel | string | 确定按钮文本 | |
onChange | function | 当控件的值发生改变的时候触发
| |
onReset | function | 当点击“重置”按钮的时候 | |
onSubmit | function | 当表单被提交的时候触发 | |
showSubmitButton | boolean | true | 是否显示提交按钮 |
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
disabled | boolean | 是否禁用输入框 | |
onBlur | function | 当光标离开输入框 | |
onChange | function | 当文本框内容被修改时候调用 | |
onFocus | function | 当文本框被聚焦 | |
onKeyDown | function | ||
placeholder | string | 文本框占位字符 | |
value | string | number | '' | 文本框中显示的值
TODO |
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
dateFormat | string | 'YYYY-MM-DD' | 日期格式,支持如下集中格式
|
id | string | ||
onChange | function | ||
value | string | value |
<DatePicker2>
DatePicker2组件是对react-datepicker的封装, 如果您对本封装不满意,可以直接使用react-datepicker组件。
导入方法:import { DatePicker2 } from 'ssc-grid'
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
calendarClassName | string | ||
className | string | ||
dateFormat | string | 'YYYY-MM-DD' | 日期格式 |
disabled | boolean | ||
isClearable | boolean | ||
locale | string | 'zh-CN' | |
onChange | function | 参数:
| |
showMonthDropdown | boolean | ||
showYearDropdown | boolean | ||
todayButton | string | ||
value | string | value 请使用ISO 8061格式 |
<MonthPicker>
导入方法:import { MonthPicker } from 'ssc-grid'
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
monthFormat | string | 'YYYY-MM' | 日期格式 请参照Moment.js文档中的日期格式 比如:
|
onChange | function | 参数
| |
value | string | null | 月份
格式: |
<YearPicker>
导入方法:import { YearPicker } from 'ssc-grid'
2000 | 2001 | 2002 | 2003 | 2004 |
2005 | 2006 | 2007 | 2008 | 2009 |
2010 | 2011 | 2012 | 2013 | 2014 |
2015 | 2016 | 2017 | 2018 | 2019 |
2020 |
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
onChange | function | 参数
| |
value | string | null | 年
格式: |
yearFormat | string | 'YYYY' | 日期格式 请参照Moment.js文档中的日期格式 比如:
|
<Tree>
导入方法:import { Tree } from 'ssc-grid'
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
treeData required | array<> | 生成树所需要的JSON数据
|
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
data required | array<> | 填充下拉菜单的数据
| |
defaultTitle required | string | ||
dropdownId required | string | ||
onSelect | function | 当从下拉菜单选择一项的时候 |
<ValidateInput>
通过指定validators
属性,<ValidateInput>
组件支持如下内置校验类型:
currency
: 货币decimal
: 数字email
: 电子邮件地址int
: 整数length
: 字符长度mobilePhone
: 手机号required
: 必输项通过指定参数type: 'email'
来指定校验类型为Email地址
[
{
type: 'email',
}
]
使用内置校验类型,默认的提示信息也是内置的。如果需要自定义提示信息,可以使用helpText
比如对字符长度做校验
[
{
type: 'length',
options: { min: 3, max: 6 },
helpText: (value, validator) =>
'自定义提示:' +
'您输入的邮件地址是:${value},' +
'请确保邮件地址长度在${validatos.options.min}和${validatos.options.max}之间',
}
]
validators
属性的类型是数组,也就是支持多重校验
比如校验email类型,并且字符长度在3到6范围内
[
{
type: 'email',
},
{
type: 'length',
options: { min: 3, max: 6 },
},
]
通过指定type: 'custom'
还可以使用自定义校验,然后提供校验函数
[
{
type: 'custom',
matchFunc: value => value.length > 5,
helpText: (value, validator) =>
'自定义提示:' +
'您输入的文字是:${value},字符长度必须大于5',
}
]
验证货币格式
验证数字格式
验证邮箱格式
验证整数格式
验证手机号
验证邮箱格式,使用自定义错误提示
自定义验证格式,使用自定义错误提示
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
controlId | string | To ensure accessibility, set controlId on | |
disabled | boolean | 是否禁用输入框 | |
onBlur | function | 当光标离开输入框 | |
onChange | function | 当文本框内容被修改时候调用 | |
onFocus | function | 当文本框被聚焦 | |
placeholder | string | 文本框占位字符 | |
validators required | array<object | object | object> | [] | 带有校验功能的输入框
场景1:使用内置校验(定义在
|
value | string | '' | 文本框中显示的值
注意:由于文本框是完全自由输入的,所以value的类型,以及在matchFunc回调函数的value参数的类型
都是string,具体参照https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement
文档中关于 |
<ValidateRefers>
通过指定validators
属性,<ValidateInput>
组件支持如下内置校验类型:
required
: 必输项通过指定参数type: 'required'
来指定校验类型为必输项
[
{
type: 'required',
}
]
使用内置校验类型,默认的提示信息也是内置的。如果需要自定义提示信息,可以使用helpText
比如对字符长度做校验
[
{
type: 'required',
helpText: (value, validator) =>
'自定义提示:' +
'您输入的内容是:${value},',
}
]
通过指定type: 'custom'
还可以使用自定义校验,然后提供校验函数
[
{
type: 'custom',
matchFunc: value => value.length > 5,
helpText: (value, validator) =>
'自定义提示:' +
'您输入的文字是:${value},字符长度必须大于5',
}
]
验证必选字段
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
controlId | string | To ensure accessibility, set controlId on | |
disabled | boolean | 是否禁用输入框 | |
labelKey | string | 请参照参照文档https://ssc-refer.github.io/ | |
multiple | boolean | 是否多选 | |
onBlur | function | 当光标离开输入框 | |
onChange | function | 当文本框内容被修改时候调用 | |
onFocus | function | 当文本框被聚焦 | |
placeholder | string | 文本框占位字符 | |
referConditions required | object | 参照配置参数
| |
referDataUrl required | string | referDataUrl: "http://172.20.4.220/ficloud/refbase_ctr/queryRefJSON"; | |
renderMenuItemChildren | function | 自定义参照下拉列表 | |
selected required | array<object> | [] | 参照初始值 |
validators | array<object> | [] | 带有校验功能的输入框 |
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
controlId | string | To ensure accessibility, set controlId on | |
disabled | boolean | 是否禁用输入框 | |
errorMsg | string | '请填写数字!' | 校验错误时候提示信息 |
max | number | null | |
min | number | null | |
nullMsg | string | '不能为空!' | 当文本框为空的显示的提示信息 |
onBlur | function | 当光标离开输入框 | |
onChange | function | 当文本框内容被修改时候调用 | |
onFocus | function | 当文本框被聚焦 | |
placeholder | string | 文本框占位字符 | |
required | boolean | false | Required field |
value | string | '' | 文本框中显示的值
注意:由于文本框是完全自由输入的,所以value的类型,以及在matchFunc回调函数的value参数的类型
都是string,具体参照https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement
文档中关于 |