From 204486ea1efb2c8f90f34403f2bb74890cc798d0 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Wed, 1 Feb 2023 14:18:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(EditableCell):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8F=AF=E7=BC=96=E8=BE=91=E8=A1=A8=E6=A0=BC=20=E7=BB=84?= =?UTF-8?q?=E4=BB=B6onChange=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Table/src/components/editable/EditableCell.vue | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/vue/src/components/Table/src/components/editable/EditableCell.vue b/apps/vue/src/components/Table/src/components/editable/EditableCell.vue index 87fa6361e..cd4113b79 100644 --- a/apps/vue/src/components/Table/src/components/editable/EditableCell.vue +++ b/apps/vue/src/components/Table/src/components/editable/EditableCell.vue @@ -77,6 +77,11 @@ if (isFunction(compProps)) { compProps = compProps({ text: val, record, column, index }) ?? {}; } + + // 用临时变量存储 onChange方法 用于 handleChange方法 获取,并删除原始onChange, 防止存在两个 onChange + compProps.onChangeTemp = compProps.onChange; + delete compProps.onChange; + const component = unref(getComponent); const apiSelectProps: Recordable = {}; if (component === 'ApiSelect') { @@ -186,7 +191,7 @@ } else if (isString(e) || isBoolean(e) || isNumber(e) || isArray(e)) { currentValueRef.value = e; } - const onChange = unref(getComponentProps)?.onChange; + const onChange = unref(getComponentProps)?.onChangeTemp; if (onChange && isFunction(onChange)) onChange(...arguments); table.emit?.('edit-change', { @@ -404,8 +409,7 @@ column: this.column, index: this.index, }) - : (this.getValues ?? "\u00A0") - } + : (this.getValues ?? "\u00A0")} {!this.column.editRow && }