diff --git a/src/components/Table/src/components/editable/index.ts b/src/components/Table/src/components/editable/index.ts index 93915807..3785b2d0 100644 --- a/src/components/Table/src/components/editable/index.ts +++ b/src/components/Table/src/components/editable/index.ts @@ -41,12 +41,14 @@ export function renderEditCell(column: BasicColumn) { }; } -export type EditRecordRow> = { - onEdit: (editable: boolean, submit?: boolean) => Promise; - editable: boolean; - onCancel: Fn; - onSubmit: Fn; - submitCbs: Fn[]; - cancelCbs: Fn[]; - validCbs: Fn[]; -} & T; +export type EditRecordRow> = Partial< + { + onEdit: (editable: boolean, submit?: boolean) => Promise; + editable: boolean; + onCancel: Fn; + onSubmit: Fn; + submitCbs: Fn[]; + cancelCbs: Fn[]; + validCbs: Fn[]; + } & T +>; diff --git a/src/views/demo/page/form/high/PersonTable.vue b/src/views/demo/page/form/high/PersonTable.vue index f24b7a3e..3f341409 100644 --- a/src/views/demo/page/form/high/PersonTable.vue +++ b/src/views/demo/page/form/high/PersonTable.vue @@ -16,7 +16,6 @@ TableAction, BasicColumn, ActionItem, - renderEditableRow, EditTableHeaderIcon, EditRecordRow, } from '/@/components/Table'; @@ -25,17 +24,21 @@ { title: '成员姓名', dataIndex: 'name', - customRender: renderEditableRow({ dataIndex: 'name', placeholder: '请输入成员姓名' }), + editRow: true, }, { title: '工号', dataIndex: 'no', - customRender: renderEditableRow({ dataIndex: 'no', placeholder: '请输入工号' }), + editRow: true, + + // customRender: renderEditableRow({ dataIndex: 'no', placeholder: '请输入工号' }), }, { title: '所属部门', dataIndex: 'dept', - customRender: renderEditableRow({ dataIndex: 'dept', placeholder: '请输入所属部门' }), + editRow: true, + + // customRender: renderEditableRow({ dataIndex: 'dept', placeholder: '请输入所属部门' }), }, ]; @@ -73,12 +76,11 @@ }); function handleEdit(record: EditRecordRow) { - record.editable = true; + record.onEdit?.(true); } function handleCancel(record: EditRecordRow) { - record.editable = false; - record.onCancel && record.onCancel(); + record.onEdit?.(false); if (record.isNew) { const data = getDataSource(); const index = data.findIndex((item) => item.key === record.key); @@ -87,8 +89,7 @@ } function handleSave(record: EditRecordRow) { - record.editable = false; - record.onSubmit && record.onSubmit(); + record.onEdit?.(false, true); } function handleAdd() {