+
--
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);
}