From b14c3ab7cb43cf50601ad344d4f38135670c0ab2 Mon Sep 17 00:00:00 2001 From: liaoxuezhi <2betop.cn@gmail.com> Date: Wed, 20 Dec 2023 18:58:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20table=20=E7=9A=84?= =?UTF-8?q?=20column=20=E7=9A=84=20id=20=E5=B1=9E=E6=80=A7=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E9=87=8D=E5=A4=8D=E5=AF=BC=E8=87=B4=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=20(#9190)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/amis-core/src/store/table.ts | 12 +++++++++++- packages/amis-ui/scss/_components.scss | 5 ++--- .../amis-ui/src/components/PopOverContainer.tsx | 15 ++++++++++----- .../src/components/condition-builder/Item.tsx | 3 ++- .../src/components/formula/VariableList.tsx | 3 ++- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/packages/amis-core/src/store/table.ts b/packages/amis-core/src/store/table.ts index 1305208c116..612c1bfbdb5 100644 --- a/packages/amis-core/src/store/table.ts +++ b/packages/amis-core/src/store/table.ts @@ -1159,14 +1159,24 @@ export const TableStore = iRendererStore }); const originColumns = self.columns.concat(); + const ids: Array = []; columns = columns.map((item, index) => { const origin = item.id ? originColumns.find(column => column.pristine.id === item.id) : originColumns[index]; + let id = origin?.id || guid(); + + // 还不知道为何会出现这个,先用这种方式避免 id 重复 + if (ids.includes(id)) { + id = guid(); + } + + ids.push(id); + return { ...item, - id: origin?.id || guid(), + id: id, index, width: origin?.width || 0, minWidth: origin?.minWidth || 0, diff --git a/packages/amis-ui/scss/_components.scss b/packages/amis-ui/scss/_components.scss index a68473ce99f..1cbb46c5414 100644 --- a/packages/amis-ui/scss/_components.scss +++ b/packages/amis-ui/scss/_components.scss @@ -3800,7 +3800,6 @@ --inputTag-option-hover-bg-color: var(--colors-brand-10); --inputTag-popover-maxHeight: 300px; - --fieldSet-legend-height: var(--sizes-size-9); --fieldSet-legend-color: var(--colors-neutral-text-2); --fieldSet-legend-fontSize: var(--fonts-size-7); @@ -3919,9 +3918,9 @@ --conditionBuilder-line-width: var(--sizes-size-2); --conditionBuilder-line-bg-color: var(--colors-brand-9); --conditionBuilder-body-bg-color: var(--colors-neutral-line-10); - --conditionBuilder-body-paddingTop: var(--sizes-size-7); + --conditionBuilder-body-paddingTop: var(--sizes-size-3); --conditionBuilder-body-paddingRight: var(--sizes-size-7); - --conditionBuilder-body-paddingBottom: var(--sizes-size-7); + --conditionBuilder-body-paddingBottom: var(--sizes-size-3); --conditionBuilder-body-paddingLeft: var(--sizes-base-14); --table-border-width: var(--borders-width-2); diff --git a/packages/amis-ui/src/components/PopOverContainer.tsx b/packages/amis-ui/src/components/PopOverContainer.tsx index 0b25f50f219..d4210c56a47 100644 --- a/packages/amis-ui/src/components/PopOverContainer.tsx +++ b/packages/amis-ui/src/components/PopOverContainer.tsx @@ -13,10 +13,12 @@ export interface PopOverOverlay { export interface PopOverContainerProps { children: (props: { + disabled?: boolean; onClick: (e: React.MouseEvent) => void; isOpened: boolean; ref: any; }) => JSX.Element; + disabled?: boolean; popOverRender: (props: {onClose: () => void}) => JSX.Element; popOverContainer?: any; popOverClassName?: string; @@ -61,9 +63,10 @@ export class PopOverContainer extends React.Component< @autobind handleClick() { - this.setState({ - isOpened: true - }); + this.props.disabled || + this.setState({ + isOpened: true + }); } @autobind @@ -152,7 +155,8 @@ export class PopOverContainer extends React.Component< placement, align, showConfirm, - onConfirm + onConfirm, + disabled } = this.props; return ( @@ -160,7 +164,8 @@ export class PopOverContainer extends React.Component< {children({ isOpened: this.state.isOpened, onClick: this.handleClick, - ref: this.targetRef + ref: this.targetRef, + disabled })} {mobileUI ? ( { return ( findDOMNode(this))} popOverRender={({onClose}) => ( { /> )} > - {({onClick, isOpened, ref}) => ( + {({onClick, isOpened, ref, disabled: popOverDisabled}) => (
{ return ( -
+
{option.label && selfVariableName && @@ -152,6 +152,7 @@ function VariableList(props: VariableListProps) { {memberOpers.map((item, i) => { return (