|
@@ -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;
|
|
|
}
|