diff --git a/packages/components/table/components/editable-cell.tsx b/packages/components/table/components/editable-cell.tsx index 36e0104eba..051a417438 100644 --- a/packages/components/table/components/editable-cell.tsx +++ b/packages/components/table/components/editable-cell.tsx @@ -1,5 +1,5 @@ import { computed, defineComponent, onMounted, PropType, ref, SetupContext, toRefs, watch } from 'vue'; -import { get, set, isFunction, cloneDeep, isObject } from 'lodash-es'; +import { get, set, isFunction, isObject } from 'lodash-es'; import { Edit1Icon as TdEdit1Icon } from 'tdesign-icons-vue-next'; import { TableRowData, @@ -121,7 +121,7 @@ export default defineComponent({ const [firstKey, ...restKeys] = colKey.split('.') || []; const newRow = { ...row.value }; if (restKeys.length) { - newRow[firstKey] = cloneDeep(row.value[firstKey]); + newRow[firstKey] = row.value[firstKey]; set(newRow[firstKey], restKeys.join('.'), editValue.value); } else { set(newRow, colKey, editValue.value); diff --git a/packages/components/table/hooks/useEditableRow.ts b/packages/components/table/hooks/useEditableRow.ts index 5144c429e3..e52eea7ebe 100644 --- a/packages/components/table/hooks/useEditableRow.ts +++ b/packages/components/table/hooks/useEditableRow.ts @@ -1,5 +1,5 @@ import { ref, computed, watch, toRefs } from 'vue'; -import { get, set, cloneDeep, isFunction } from 'lodash-es'; +import { get, set, isFunction } from 'lodash-es'; import { PrimaryTableProps } from '../types'; import { getEditableKeysMap } from '@tdesign/common-js/table/utils'; @@ -142,7 +142,7 @@ export default function useRowEdit(props: PrimaryTableProps) { /** 更新编辑态单元格数据 */ const onUpdateEditedCell = (rowValue: any, lastRowData: TableRowData, data: { [key: string]: any }) => { if (!editedFormData.value[rowValue]) { - editedFormData.value[rowValue] = cloneDeep(lastRowData); + editedFormData.value[rowValue] = lastRowData; } Object.entries(data).forEach(([key, val]) => { set(editedFormData.value[rowValue], key, val);