From 7a06b45808c9f6c37ae2159b6ea5ff7e4bf6973e Mon Sep 17 00:00:00 2001 From: Aaron <427787340@qq.com> Date: Wed, 28 Aug 2019 18:35:24 +0800 Subject: [PATCH] Scheme实现静态数据分页,删除逻辑待优化 --- examples/views/docs/component/scheme.md | 2 ++ packages/scheme/index.vue | 22 +++++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/examples/views/docs/component/scheme.md b/examples/views/docs/component/scheme.md index b8759ff..e18cdb5 100644 --- a/examples/views/docs/component/scheme.md +++ b/examples/views/docs/component/scheme.md @@ -20,6 +20,8 @@ export default { tableData: [ { name: '产品A', code: 'P0001', type: 'NORMAL', sort: 0, status: '0' }, { name: '产品B', code: 'P0002', type: 'BROKEN', sort: 1, status: '1' }, + { name: '产品C', code: 'P0003', type: 'NORMAL', sort: 0, status: '0' }, + { name: '产品D', code: 'P0004', type: 'BROKEN', sort: 1, status: '1' }, ], schemeList: [ { type: 'el-input', key: 'name', label: '名称', rules: [{ required: true, message: '请输入名称' }] }, diff --git a/packages/scheme/index.vue b/packages/scheme/index.vue index bfde832..3896852 100644 --- a/packages/scheme/index.vue +++ b/packages/scheme/index.vue @@ -167,6 +167,7 @@ import { generateListSpace } from './parser'; import { stringify } from './utils'; let _$http = null; +let TABLE_DATA_STATIC = []; export default { name: 'Scheme', @@ -291,7 +292,7 @@ export default { mounted() { this.tableData = this.value; this.totalCount = this.value.length; - this.tableDataOrigin = this.value; + TABLE_DATA_STATIC = this.value; // 设置自动加载数据 if (this.option.auto !== false) { this.handleSearch(); @@ -398,7 +399,7 @@ export default { break; } } - this.tableData = searchModelCount > 0 ? this.tableDataOrigin.filter(data => { + const resultData = searchModelCount > 0 ? TABLE_DATA_STATIC.filter(data => { let result = false; for (let modelKey in this.searchModel) { let modelValue = this.searchModel[modelKey]; @@ -408,7 +409,11 @@ export default { } } return result; - }) : this.tableDataOrigin; + }) : TABLE_DATA_STATIC; + const begin = (this.currentPage - 1) * this.pageSize; + const end = this.currentPage * this.pageSize; + this.tableData = resultData.slice(begin, end); + this.totalCount = resultData.length; this.tableLoading = false; }); } @@ -561,8 +566,9 @@ export default { this.dialogLoading = false; }); } else { - this.tableDataOrigin.splice(selection[0].$index, 1); + TABLE_DATA_STATIC.splice(selection[0].$index, 1); this.hideDialog(); + this.handleSearch(); } }, // 重置表单值 @@ -641,9 +647,10 @@ export default { this.dialogLoading = false; }); } else { - this.tableDataOrigin.push(param); - this.totalCount = this.tableDataOrigin.length; + TABLE_DATA_STATIC.push(param); + this.totalCount = TABLE_DATA_STATIC.length; this.hideDialog(); + this.handleSearch(); } }, // 编辑提交逻辑 @@ -677,8 +684,9 @@ export default { this.dialogLoading = false; }); } else { - this.$set(this.tableDataOrigin, this.tableCurrentRow.$index, param); + this.$set(TABLE_DATA_STATIC, this.tableCurrentRow.$index, param); this.hideDialog(); + this.handleSearch(); } }, // 表单取消 -- libgit2 0.21.0