JgEditableTable 帮助文档
JgEditableTable 帮助文档
参数配置
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
columns | array | ✔️ | 表格列的配置描述,具体项见下表 |
dataSource | array | ✔️ | 表格数据 |
loading | boolean | 是否正在加载,加载中不会显示任何行 | |
actionButton | boolean | 是否显示操作按钮,包括"新增"、"删除" | |
rowNumber | boolean | 是否显示行号 | |
rowSelection | boolean | 是否可选择行 |
columns 参数详解
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
title | string | ✔️ | 表格列头显示的问题 |
key | string | ✔️ | 列数据在数据项中对应的 key,必须是唯一的 |
type | string | ✔️ | 表单的类型,可以通过JgEditableTableUtil.Types 赋值 |
width | string | 列的宽度,可以是百分比,也可以是px 或其他单位,建议设置为百分比,且每一列的宽度加起来不应超过100%,否则可能会不能达到预期的效果 | |
placeholder | string | 表单预期值的提示信息,可以使用${…} 变量替换文本(使用方式见下方) | |
defaultValue | string | 默认值,在新增一行时生效 | |
validateRules | array | 表单验证规则,配置方式见下表 |
当 type=checkbox 时所需的参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
defaultChecked | boolean | 默认值是否选中 | |
customValue | array | 自定义值,checkbox需要的是boolean值,如果数据是其他值(例如'Y' or 'N' )时,就会导致错误,所以提供了该属性进行转换,例:customValue: ['Y','N'] ,会将true 转换为'Y' ,false 转换为'N' ,反之亦然 |
当 type=select 时所需的参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
options | array | ✔️ | 下拉选项列表,详见下表 |
options 所需参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
title | string | ✔️ | 显示标题 |
value | string | ✔️ | 真实值 |
validateRules 配置规则
validateRules
需要的是一个数组,数组里每项都是一个规则,规则是object类型,规则的各个参数如下
required
是否必填,可选值为true
orfalse
pattern
正则表达式验证,只有成功匹配该正则的值才能成功通过验证message
当验证未通过时显示的提示文本,可以使用${…}
变量替换文本(使用方式见下方)- 点我查看示例
${…} 变量使用方式
在placeholder
和message
这两个属性中可以使用${…}
变量来替换文本在示例二中,配置了title
为字段名称
的一列,而placeholder
配置成了请输入${title}
,那么最终显示效果为请输入字段名称
这就是${…}
变量的使用方式,在${}
中可以使用的变量有title
、key
、defaultValue
这三个属性的值
FAQ
如何获取表单的值?
在示例一中,设定了一个 ref="editableTable"
的属性,那么在vue中就可以使用this.$refs.editableTable
获取到该表格的实例,并调取其中的方法,在示例三中就是以这种做法获取到的值
如何进行表单验证?
在获取值的时候默认会进行表单验证操作,用户在输入的时候也会对正在输入的表单进行验证,只要配置好规则就可以了
如何添加或删除一行?
该功能已封装到组件中,你只需要将 actionButton
设置为 true
即可
示例一
<jg-editable-table
ref="editableTable"
:loading="loading"
:columns="columns"
:dataSource="dataSource"
:rowNumber="true"
:rowSelection="true"
:actionButton="true"
style="margin-top: 8px;"
@selectRowChange="handleSelectRowChange"/>
示例二
columns:[
{
title: '字段名称',
key: 'fieldName',
type: Types.input,
placeholder: '请输入${title}',
defaultValue: '称名段字',
// 表单验证规则
validateRules: [
{
required: true, // 必填
message: '请输入${title}' // 提示的文本
},
{
pattern: /^[a-z|A-Z][a-z|A-Z\d_-]{0,}$/, // 正则
message: '${title}必须以字母开头,可包含数字、下划线、横杠'
}
]
}
]
示例三
// 获取被逻辑删除的字段id
let deleteIds = this.$refs.editableTable.getDeleteIds();
// 获取所有表单的值,并进行验证
this.$refs.editableTable.getValues((error, values) => {
// 错误数 = 0 则代表验证通过
if (error === 0) {
this.$message.success('验证通过')
// 将通过后的数组提交到后台或自行进行其他处理
console.log(deleteIds, values)
} else {
this.$message.error('验证未通过')
}
})
当前内容版权归 jeecg-boot 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 jeecg-boot .