diff --git a/src/components/Table/src/components/editable/index.ts b/src/components/Table/src/components/editable/index.ts index 4f7d4da..548c9e4 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, Ref } from 'vue'; +import { h, Ref, toRaw } from 'vue'; import EditableCell from './EditableCell.vue'; import { isArray } from '/@/utils/is'; @@ -13,7 +13,7 @@ interface Params { export function renderEditCell(column: BasicColumn) { return ({ text: value, record, index }: Params) => { - record.onValid = async () => { + toRaw(record).onValid = async () => { if (isArray(record?.validCbs)) { const validFns = (record?.validCbs || []).map((fn) => fn()); const res = await Promise.all(validFns); @@ -23,7 +23,7 @@ export function renderEditCell(column: BasicColumn) { } }; - record.onEdit = async (edit: boolean, submit = false) => { + toRaw(record).onEdit = async (edit: boolean, submit = false) => { if (!submit) { record.editable = edit; }