From 0d35c35bd14b30f43328304f3c2ab077d624c9d5 Mon Sep 17 00:00:00 2001 From: Oliver <1069035666@qq.com> Date: Thu, 10 Mar 2022 00:42:40 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8A=98=E5=8F=A0=E6=97=B6,=E6=8A=98?= =?UTF-8?q?=E5=8F=A0=E8=BE=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Container/src/collapse/CollapseContainer.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Container/src/collapse/CollapseContainer.vue b/src/components/Container/src/collapse/CollapseContainer.vue index 1abdf4a..62d639c 100644 --- a/src/components/Container/src/collapse/CollapseContainer.vue +++ b/src/components/Container/src/collapse/CollapseContainer.vue @@ -9,10 +9,10 @@ -
+
-
+
-- Gitee From 254ddb4cf010a4eaf853d81414221875314e5bfc Mon Sep 17 00:00:00 2001 From: Oliver <1069035666@qq.com> Date: Thu, 10 Mar 2022 00:48:31 +0000 Subject: [PATCH 2/3] =?UTF-8?q?editComponentProps=20=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/editable/EditableCell.vue | 15 ++++++++++++--- src/components/Table/src/types/table.ts | 10 +++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue index 44cbbc4..8d2bc1e 100644 --- a/src/components/Table/src/components/editable/EditableCell.vue +++ b/src/components/Table/src/components/editable/EditableCell.vue @@ -113,8 +113,17 @@ return ['Checkbox', 'Switch'].includes(component); }); + const getEditComponentProps = computed(() => { + const { value: text, record, column, index } = props; + let compProps = props.column?.editComponentProps ?? {}; + if (isFunction(compProps)) { + compProps = compProps({ text, record, column, index }) ?? {}; + } + return compProps; + }); + const getComponentProps = computed(() => { - const compProps = props.column?.editComponentProps ?? {}; + const compProps = unref(getEditComponentProps); const val = unref(currentValueRef); const labelVal = unref(currentLabelValueRef); @@ -205,7 +214,7 @@ value = e; } - const format = props.column?.editComponentProps?.format; + const format = unref(getEditComponentProps)?.format; if (format) { if (isObject(value)) { value = value._isAMomentObject ? value?.format(format) : value; @@ -218,7 +227,7 @@ currentValueRef.value = value; currentLabelValueRef.value = labelValue; - const onChange = props.column?.editComponentProps?.onChange; + const onChange = unref(getEditComponentProps)?.onChange; if (onChange && isFunction(onChange)) onChange(...arguments); table.emit?.('edit-change', { diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts index a564cb0..a60c594 100644 --- a/src/components/Table/src/types/table.ts +++ b/src/components/Table/src/types/table.ts @@ -10,6 +10,7 @@ import { ComponentType } from './componentType'; import { VueNode } from '/@/utils/propTypes'; import { RoleEnum } from '/@/enums/roleEnum'; import { ActionItem } from './tableAction'; +import { EditRecordRow } from '../components/editable'; export declare type SortOrder = 'ascend' | 'descend'; @@ -445,7 +446,14 @@ export interface BasicColumn extends ColumnProps { editRow?: boolean; editable?: boolean; editComponent?: ComponentType; - editComponentProps?: Recordable; + editComponentProps?: + | ((opt: { + text: any; + record: EditRecordRow; + column: BasicColumn; + index: number; + }) => Recordable) + | Recordable; editRule?: boolean | ((text: string, record: Recordable) => Promise); editValueMap?: (value: any) => string; onEditRow?: () => void; -- Gitee From 610201576a171ee082581f039cf6b04e26a5eeae Mon Sep 17 00:00:00 2001 From: Oliver <1069035666@qq.com> Date: Sat, 12 Mar 2022 07:21:04 +0000 Subject: [PATCH 3/3] =?UTF-8?q?expand=20=E5=8F=8C=E5=90=91=E7=BB=91?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Container/src/collapse/CollapseContainer.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/Container/src/collapse/CollapseContainer.vue b/src/components/Container/src/collapse/CollapseContainer.vue index 62d639c..ba8f0a7 100644 --- a/src/components/Container/src/collapse/CollapseContainer.vue +++ b/src/components/Container/src/collapse/CollapseContainer.vue @@ -63,6 +63,8 @@ lazyTime: { type: Number, default: 0 }, }); + const emit = defineEmits(['update:expand']); + const show = ref(true); const { prefixCls } = useDesign('collapse-container'); @@ -86,6 +88,7 @@ // 200 milliseconds here is because the expansion has animation, useTimeoutFn(triggerWindowResize, 200); } + emit('update:expand', show.value); }