diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue index 2a8930a8518..97aa1ee116f 100644 --- a/src/components/Table/src/components/editable/EditableCell.vue +++ b/src/components/Table/src/components/editable/EditableCell.vue @@ -282,6 +282,10 @@ initCbs('validCbs', handleSubmiRule); initCbs('cancelCbs', handleCancel); + if (props.column.dataIndex) { + if (!props.record.editValueRefs) props.record.editValueRefs = {}; + props.record.editValueRefs[props.column.dataIndex] = currentValueRef; + } /* eslint-disable */ props.record.onCancelEdit = () => { isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn()); diff --git a/src/components/Table/src/components/editable/index.ts b/src/components/Table/src/components/editable/index.ts index 00fd81ef34f..4ea515b5728 100644 --- a/src/components/Table/src/components/editable/index.ts +++ b/src/components/Table/src/components/editable/index.ts @@ -1,6 +1,6 @@ import type { BasicColumn } from '/@/components/Table/src/types/table'; -import { h } from 'vue'; +import { h, Ref } from 'vue'; import EditableCell from './EditableCell.vue'; @@ -50,5 +50,6 @@ export type EditRecordRow = Partial< submitCbs: Fn[]; cancelCbs: Fn[]; validCbs: Fn[]; + editValueRefs: Recordable; } & T >; diff --git a/src/views/demo/table/EditRowTable.vue b/src/views/demo/table/EditRowTable.vue index 622ac7d0be5..2b764492bc5 100644 --- a/src/views/demo/table/EditRowTable.vue +++ b/src/views/demo/table/EditRowTable.vue @@ -1,6 +1,6 @@