diff --git a/examples/views/table/edit/RowValid.vue b/examples/views/table/edit/RowValid.vue index 8b12681f5..cef1ee665 100644 --- a/examples/views/table/edit/RowValid.vue +++ b/examples/views/table/edit/RowValid.vue @@ -4,6 +4,7 @@ 新增 校验 + 选中校验 获取新增 获取删除 获取修改 @@ -51,6 +52,7 @@ export default { ` 新增 校验 + 选中校验 获取新增 获取删除 获取修改 @@ -95,6 +97,15 @@ export default { } }) }, + selectValidEvent () { + let getSelectRecords = this.$refs.xTable.getSelectRecords() + if(getSelectRecords.length>0){ + this.$refs.xTable.validate(getSelectRecords,valid => { + if (valid) { + } + }) + } + }, insertEvent () { this.$refs.xTable.insert().then(({ row }) => { // 插入一条数据并触发校验 @@ -148,6 +159,15 @@ export default { } }) }) + }, + selectValidEvent () { + let getSelectRecords = this.$refs.xTable.getSelectRecords() + if(getSelectRecords.length>0){ + this.$refs.xTable.validate(getSelectRecords,valid => { + if (valid) { + } + }) + } }, getInsertEvent () { let insertRecords = this.$refs.xTable.getInsertRecords() diff --git a/src/components/table/src/table.js b/src/components/table/src/table.js index 9df8dba48..1ea5b624f 100644 --- a/src/components/table/src/table.js +++ b/src/components/table/src/table.js @@ -2806,11 +2806,17 @@ export default { return Promise.resolve() }, /** - * 对整个表格数据进行校验 + * 对表格数据进行校验 + * 若传rows为多行记录,则只验证传入的行,否则默认验证整个表格数据 * 返回 Promise 对象,或者使用回调方式 */ - validate (cb) { + validate (rows, cb) { let { editRules, tableData } = this + if (XEUtils.isFunction(rows)) { + cb = rows + } else if (XEUtils.isArray(rows)) { + tableData = rows + } let validPromise = Promise.resolve(true) this.lastCallTime = Date.now() this.clearValidate()