Commit a0681cca8f9de2e3686001fa715f53f6fc3cf1a1

Authored by vben
1 parent 09c9f8a8

fix(demo): fix demo error

src/components/Table/src/components/editable/index.ts
... ... @@ -41,12 +41,14 @@ export function renderEditCell(column: BasicColumn) {
41 41 };
42 42 }
43 43  
44   -export type EditRecordRow<T = Hash<any>> = {
45   - onEdit: (editable: boolean, submit?: boolean) => Promise<boolean>;
46   - editable: boolean;
47   - onCancel: Fn;
48   - onSubmit: Fn;
49   - submitCbs: Fn[];
50   - cancelCbs: Fn[];
51   - validCbs: Fn[];
52   -} & T;
  44 +export type EditRecordRow<T = Hash<any>> = Partial<
  45 + {
  46 + onEdit: (editable: boolean, submit?: boolean) => Promise<boolean>;
  47 + editable: boolean;
  48 + onCancel: Fn;
  49 + onSubmit: Fn;
  50 + submitCbs: Fn[];
  51 + cancelCbs: Fn[];
  52 + validCbs: Fn[];
  53 + } & T
  54 +>;
... ...
src/views/demo/page/form/high/PersonTable.vue
... ... @@ -16,7 +16,6 @@
16 16 TableAction,
17 17 BasicColumn,
18 18 ActionItem,
19   - renderEditableRow,
20 19 EditTableHeaderIcon,
21 20 EditRecordRow,
22 21 } from '/@/components/Table';
... ... @@ -25,17 +24,21 @@
25 24 {
26 25 title: '成员姓名',
27 26 dataIndex: 'name',
28   - customRender: renderEditableRow({ dataIndex: 'name', placeholder: '请输入成员姓名' }),
  27 + editRow: true,
29 28 },
30 29 {
31 30 title: '工号',
32 31 dataIndex: 'no',
33   - customRender: renderEditableRow({ dataIndex: 'no', placeholder: '请输入工号' }),
  32 + editRow: true,
  33 +
  34 + // customRender: renderEditableRow({ dataIndex: 'no', placeholder: '请输入工号' }),
34 35 },
35 36 {
36 37 title: '所属部门',
37 38 dataIndex: 'dept',
38   - customRender: renderEditableRow({ dataIndex: 'dept', placeholder: '请输入所属部门' }),
  39 + editRow: true,
  40 +
  41 + // customRender: renderEditableRow({ dataIndex: 'dept', placeholder: '请输入所属部门' }),
39 42 },
40 43 ];
41 44  
... ... @@ -73,12 +76,11 @@
73 76 });
74 77  
75 78 function handleEdit(record: EditRecordRow) {
76   - record.editable = true;
  79 + record.onEdit?.(true);
77 80 }
78 81  
79 82 function handleCancel(record: EditRecordRow) {
80   - record.editable = false;
81   - record.onCancel && record.onCancel();
  83 + record.onEdit?.(false);
82 84 if (record.isNew) {
83 85 const data = getDataSource();
84 86 const index = data.findIndex((item) => item.key === record.key);
... ... @@ -87,8 +89,7 @@
87 89 }
88 90  
89 91 function handleSave(record: EditRecordRow) {
90   - record.editable = false;
91   - record.onSubmit && record.onSubmit();
  92 + record.onEdit?.(false, true);
92 93 }
93 94  
94 95 function handleAdd() {
... ...