Commit a0681cca8f9de2e3686001fa715f53f6fc3cf1a1
1 parent
09c9f8a8
fix(demo): fix demo error
Showing
2 changed files
with
21 additions
and
18 deletions
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() { | ... | ... |