fix:可编辑表格editable组件死循环渲染问题
parent
e3974fb95f
commit
3a7b91cf95
|
@ -1,6 +1,6 @@
|
||||||
import type { BasicColumn } from '/@/components/Table/src/types/table';
|
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 EditableCell from './EditableCell.vue';
|
||||||
import { isArray } from '/@/utils/is';
|
import { isArray } from '/@/utils/is';
|
||||||
|
@ -13,7 +13,7 @@ interface Params {
|
||||||
|
|
||||||
export function renderEditCell(column: BasicColumn) {
|
export function renderEditCell(column: BasicColumn) {
|
||||||
return ({ text: value, record, index }: Params) => {
|
return ({ text: value, record, index }: Params) => {
|
||||||
record.onValid = async () => {
|
toRaw(record).onValid = async () => {
|
||||||
if (isArray(record?.validCbs)) {
|
if (isArray(record?.validCbs)) {
|
||||||
const validFns = (record?.validCbs || []).map((fn) => fn());
|
const validFns = (record?.validCbs || []).map((fn) => fn());
|
||||||
const res = await Promise.all(validFns);
|
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) {
|
if (!submit) {
|
||||||
record.editable = edit;
|
record.editable = edit;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue