使用示例
最后更新于:2022-04-02 07:14:01
# JVXETable 使用示例
[TOC=2,9]
## 示例一
>[info] 本示例演示了`JVXETable`的基本用法
``` html
```
## 示例二
>[info] 本示例演示了`columns`的基本用法
``` js
import { JVXETypes } from '@/components/jeecg/JVxeTable'
/*--- 忽略部分代码片断 ---*/
columns: [
{
title: '名称',
key: 'name',
type: JVXETypes.input,
placeholder: '请输入${title}',
defaultValue: '称名',
// 表单验证规则
validateRules: [
{
required: true, // 必填
message: '${title}不能为空' // 提示的文本
},
{
pattern: /^[a-z|A-Z][a-z|A-Z\d_-]{0,}$/, // 正则
message: '${title}必须以字母开头,可包含数字、下划线、横杠'
}
]
},
{
title: '年龄',
key: 'age',
type: JVXETypes.inputNumber,
placeholder: '请输入${title}',
defaultValue: 18,
validateRules: [{required: true, message: '${title}不能为空'}]
}
]
/*--- 忽略部分代码片断 ---*/
```
## 示例三
>[info]本示例演示了如何进行`表单验证`和`获取数据`
```
// 进行表单验证
this.$refs.xTable.validateTable().then(errMap => {
if (!errMap) {
this.$message.success('验证通过')
// 获取数据
let tableData = this.$refs.xTable.getTableData()
let deleteData = this.$refs.xTable.getDeleteData()
// 将通过后的数组提交到后台或自行进行其他处理
console.log({tableData , deleteData })
} else {
// 验证未通过,errMap里包含具体未验证通过的详情
this.$message.error('验证未通过')
}
})
```
## 示例四
>[info]本示例演示了如何使用`插槽(slot)`和插槽的参数介绍
``` html
查看
删除
```
## 示例五
>[info]本示例演示了如何进行`自定义函数校验`
``` js
columns: [
{
title: '字段名称',
key: 'dbFieldName',
type: JVXETypes.input,
validateRules: [
{
// 自定义函数校验 handler
handler({ cellValue, row, column }, callback, target) {
// cellValue 当前校验的值
// row 当前行数据
// column 当前列配置
// callback(flag, message) 方法【必须执行】且只能执行一次。
// flag = 是否通过了校验,不填写或者填写 null 代表不进行任何操作
// message = 提示的类型,默认使用配置的 message
// target 行编辑的实例对象
// 示例:
if (cellValue === 'abc') {
callback(false, '${title}不能是abc') // false = 未通过,可以跟自定义提示
} else {
callback(true) // true = 通过验证
}
},
message: '${title}默认提示'
}
]
},
]
```
';