Commit 7a06b45808c9f6c37ae2159b6ea5ff7e4bf6973e

Authored by Aaron
1 parent 75ccd5cd
Exists in master and in 1 other branch legacy

Scheme实现静态数据分页,删除逻辑待优化

examples/views/docs/component/scheme.md
... ... @@ -20,6 +20,8 @@ export default {
20 20 tableData: [
21 21 { name: '产品A', code: 'P0001', type: 'NORMAL', sort: 0, status: '0' },
22 22 { name: '产品B', code: 'P0002', type: 'BROKEN', sort: 1, status: '1' },
  23 + { name: '产品C', code: 'P0003', type: 'NORMAL', sort: 0, status: '0' },
  24 + { name: '产品D', code: 'P0004', type: 'BROKEN', sort: 1, status: '1' },
23 25 ],
24 26 schemeList: [
25 27 { type: 'el-input', key: 'name', label: '名称', rules: [{ required: true, message: '请输入名称' }] },
... ...
packages/scheme/index.vue
... ... @@ -167,6 +167,7 @@ import { generateListSpace } from './parser';
167 167 import { stringify } from './utils';
168 168  
169 169 let _$http = null;
  170 +let TABLE_DATA_STATIC = [];
170 171  
171 172 export default {
172 173 name: 'Scheme',
... ... @@ -291,7 +292,7 @@ export default {
291 292 mounted() {
292 293 this.tableData = this.value;
293 294 this.totalCount = this.value.length;
294   - this.tableDataOrigin = this.value;
  295 + TABLE_DATA_STATIC = this.value;
295 296 // 设置自动加载数据
296 297 if (this.option.auto !== false) {
297 298 this.handleSearch();
... ... @@ -398,7 +399,7 @@ export default {
398 399 break;
399 400 }
400 401 }
401   - this.tableData = searchModelCount > 0 ? this.tableDataOrigin.filter(data => {
  402 + const resultData = searchModelCount > 0 ? TABLE_DATA_STATIC.filter(data => {
402 403 let result = false;
403 404 for (let modelKey in this.searchModel) {
404 405 let modelValue = this.searchModel[modelKey];
... ... @@ -408,7 +409,11 @@ export default {
408 409 }
409 410 }
410 411 return result;
411   - }) : this.tableDataOrigin;
  412 + }) : TABLE_DATA_STATIC;
  413 + const begin = (this.currentPage - 1) * this.pageSize;
  414 + const end = this.currentPage * this.pageSize;
  415 + this.tableData = resultData.slice(begin, end);
  416 + this.totalCount = resultData.length;
412 417 this.tableLoading = false;
413 418 });
414 419 }
... ... @@ -561,8 +566,9 @@ export default {
561 566 this.dialogLoading = false;
562 567 });
563 568 } else {
564   - this.tableDataOrigin.splice(selection[0].$index, 1);
  569 + TABLE_DATA_STATIC.splice(selection[0].$index, 1);
565 570 this.hideDialog();
  571 + this.handleSearch();
566 572 }
567 573 },
568 574 // 重置表单值
... ... @@ -641,9 +647,10 @@ export default {
641 647 this.dialogLoading = false;
642 648 });
643 649 } else {
644   - this.tableDataOrigin.push(param);
645   - this.totalCount = this.tableDataOrigin.length;
  650 + TABLE_DATA_STATIC.push(param);
  651 + this.totalCount = TABLE_DATA_STATIC.length;
646 652 this.hideDialog();
  653 + this.handleSearch();
647 654 }
648 655 },
649 656 // 编辑提交逻辑
... ... @@ -677,8 +684,9 @@ export default {
677 684 this.dialogLoading = false;
678 685 });
679 686 } else {
680   - this.$set(this.tableDataOrigin, this.tableCurrentRow.$index, param);
  687 + this.$set(TABLE_DATA_STATIC, this.tableCurrentRow.$index, param);
681 688 this.hideDialog();
  689 + this.handleSearch();
682 690 }
683 691 },
684 692 // 表单取消
... ...