From d9d1348390126fc866869d717641cae93e5d2dc3 Mon Sep 17 00:00:00 2001 From: obf <36187787+obf1313@users.noreply.github.com> Date: Thu, 11 Aug 2022 11:30:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?floatLayout=20=E6=B7=BB=E5=8A=A0=20closeOnC?= =?UTF-8?q?lickOverlay=20=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 可控制点击遮罩层是否关闭。 --- packages/taro-ui/src/components/float-layout/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/taro-ui/src/components/float-layout/index.tsx b/packages/taro-ui/src/components/float-layout/index.tsx index 771ee960b..67747540e 100644 --- a/packages/taro-ui/src/components/float-layout/index.tsx +++ b/packages/taro-ui/src/components/float-layout/index.tsx @@ -72,7 +72,8 @@ export default class AtFloatLayout extends React.Component< scrollLeft, upperThreshold, lowerThreshold, - scrollWithAnimation + scrollWithAnimation, + closeOnClickOverlay = true } = this.props const rootClass = classNames( @@ -85,7 +86,7 @@ export default class AtFloatLayout extends React.Component< return ( - + {title ? ( From 23061bfa0c226ac51b1097dbe170eb230744d8a5 Mon Sep 17 00:00:00 2001 From: obf1313 Date: Thu, 15 Sep 2022 09:43:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E9=81=AE=E7=BD=A9=E5=B1=82=E6=98=AF=E5=90=A6=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=BC=B9=E7=AA=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/float-layout/index.tsx | 21 ++++++++++--------- packages/taro-ui/types/float-layout.d.ts | 4 ++++ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/taro-ui/src/components/float-layout/index.tsx b/packages/taro-ui/src/components/float-layout/index.tsx index 67747540e..610a79484 100644 --- a/packages/taro-ui/src/components/float-layout/index.tsx +++ b/packages/taro-ui/src/components/float-layout/index.tsx @@ -48,13 +48,15 @@ export default class AtFloatLayout extends React.Component< } } - private close = (): void => { - this.setState( - { - _isOpened: false - }, - this.handleClose - ) + private close = (type: 'overlay' | 'button', closeOnClickOverlay?: boolean): void => { + if ((type === 'overlay' && closeOnClickOverlay) || type === 'button') { + this.setState( + { + _isOpened: false + }, + this.handleClose + ) + } } private handleTouchMove = (e: CommonEvent): void => { @@ -65,7 +67,6 @@ export default class AtFloatLayout extends React.Component< const { _isOpened } = this.state const { title, - scrollY, scrollX, scrollTop, @@ -86,12 +87,12 @@ export default class AtFloatLayout extends React.Component< return ( - + this.close('overlay', closeOnClickOverlay)} className='at-float-layout__overlay' /> {title ? ( {title} - + this.close('button')} /> ) : null} diff --git a/packages/taro-ui/types/float-layout.d.ts b/packages/taro-ui/types/float-layout.d.ts index d623086ed..59ee20363 100644 --- a/packages/taro-ui/types/float-layout.d.ts +++ b/packages/taro-ui/types/float-layout.d.ts @@ -61,6 +61,10 @@ export interface AtFloatLayoutProps extends AtComponent { * 滚动到底部/右边,会触发 onScrollToLower 事件 */ onScrollToLower?: CommonEventFunction + /** + * 点击遮罩层是否关闭,默认关闭 + */ + closeOnClickOverlay?: boolean } export interface AtFloatLayoutState {