diff --git a/src/popup/popup.en-US.md b/src/popup/popup.en-US.md
index 0155888d1..583e1932c 100644
--- a/src/popup/popup.en-US.md
+++ b/src/popup/popup.en-US.md
@@ -25,6 +25,7 @@ triggerElement | String / Slot / Function | - | Typescript:`string \| TNode`
visible | Boolean | - | `v-model` is supported。Typescript:`boolean` | N
defaultVisible | Boolean | - | uncontrolled property。Typescript:`boolean` | N
zIndex | Number | - | \- | N
+onOverlayClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on popup content click | N
onScroll | Function | | Typescript:`(context: { e: WheelEvent }) => void`
| N
onScrollToBottom | Function | | Typescript:`(context: { e: WheelEvent }) => void`
| N
onVisibleChange | Function | | Typescript:`(visible: boolean, context: PopupVisibleChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/popup/type.ts)。
`interface PopupVisibleChangeContext { e?: PopupTriggerEvent; trigger?: PopupTriggerSource }`
`type PopupTriggerEvent = MouseEvent \| FocusEvent \| KeyboardEvent`
`type PopupTriggerSource = 'document' \| 'trigger-element-click' \| 'trigger-element-hover' \| 'trigger-element-blur' \| 'trigger-element-focus' \| 'trigger-element-mousedown' \| 'context-menu' \| 'keydown-esc'`
| N
@@ -33,6 +34,7 @@ onVisibleChange | Function | | Typescript:`(visible: boolean, context: PopupV
name | params | description
-- | -- | --
+overlay-click | `(context: { e: MouseEvent })` | trigger on popup content click
scroll | `(context: { e: WheelEvent })` | \-
scroll-to-bottom | `(context: { e: WheelEvent })` | \-
visible-change | `(visible: boolean, context: PopupVisibleChangeContext)` | [see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/popup/type.ts)。
`interface PopupVisibleChangeContext { e?: PopupTriggerEvent; trigger?: PopupTriggerSource }`
`type PopupTriggerEvent = MouseEvent \| FocusEvent \| KeyboardEvent`
`type PopupTriggerSource = 'document' \| 'trigger-element-click' \| 'trigger-element-hover' \| 'trigger-element-blur' \| 'trigger-element-focus' \| 'trigger-element-mousedown' \| 'context-menu' \| 'keydown-esc'`
diff --git a/src/popup/popup.md b/src/popup/popup.md
index 200d3e6c9..711f39e46 100644
--- a/src/popup/popup.md
+++ b/src/popup/popup.md
@@ -35,6 +35,7 @@ triggerElement | String / Slot / Function | - | 触发元素。值类型为字
visible | Boolean | - | 是否显示浮层。支持语法糖 `v-model`。TS 类型:`boolean` | N
defaultVisible | Boolean | - | 是否显示浮层。非受控属性。TS 类型:`boolean` | N
zIndex | Number | - | 组件层级,Web 侧样式默认为 5500,移动端和小程序样式默认为 1500 | N
+onOverlayClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
内容面板点击时触发 | N
onScroll | Function | | TS 类型:`(context: { e: WheelEvent }) => void`
下拉选项滚动事件 | N
onScrollToBottom | Function | | TS 类型:`(context: { e: WheelEvent }) => void`
下拉滚动触底事件,常用于滚动到底执行具体业务逻辑 | N
onVisibleChange | Function | | TS 类型:`(visible: boolean, context: PopupVisibleChangeContext) => void`
当浮层隐藏或显示时触发,`trigger=document` 表示点击非浮层元素触发;`trigger=context-menu` 表示右击触发。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/popup/type.ts)。
`interface PopupVisibleChangeContext { e?: PopupTriggerEvent; trigger?: PopupTriggerSource }`
`type PopupTriggerEvent = MouseEvent \| FocusEvent \| KeyboardEvent`
`type PopupTriggerSource = 'document' \| 'trigger-element-click' \| 'trigger-element-hover' \| 'trigger-element-blur' \| 'trigger-element-focus' \| 'trigger-element-mousedown' \| 'context-menu' \| 'keydown-esc'`
| N
@@ -43,6 +44,7 @@ onVisibleChange | Function | | TS 类型:`(visible: boolean, context: PopupVi
名称 | 参数 | 描述
-- | -- | --
+overlay-click | `(context: { e: MouseEvent })` | 内容面板点击时触发
scroll | `(context: { e: WheelEvent })` | 下拉选项滚动事件
scroll-to-bottom | `(context: { e: WheelEvent })` | 下拉滚动触底事件,常用于滚动到底执行具体业务逻辑
visible-change | `(visible: boolean, context: PopupVisibleChangeContext)` | 当浮层隐藏或显示时触发,`trigger=document` 表示点击非浮层元素触发;`trigger=context-menu` 表示右击触发。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/popup/type.ts)。
`interface PopupVisibleChangeContext { e?: PopupTriggerEvent; trigger?: PopupTriggerSource }`
`type PopupTriggerEvent = MouseEvent \| FocusEvent \| KeyboardEvent`
`type PopupTriggerSource = 'document' \| 'trigger-element-click' \| 'trigger-element-hover' \| 'trigger-element-blur' \| 'trigger-element-focus' \| 'trigger-element-mousedown' \| 'context-menu' \| 'keydown-esc'`
diff --git a/src/popup/popup.tsx b/src/popup/popup.tsx
index 7e5ef5ee7..b72b5d13e 100644
--- a/src/popup/popup.tsx
+++ b/src/popup/popup.tsx
@@ -423,6 +423,9 @@ export default mixins(classPrefixMixins, getAttachConfigMixins('popup')).extend(
mousedown: () => {
this.contentClicked = true;
},
+ click: (e: MouseEvent) => {
+ emitEvent(this, 'overlay-click', { e });
+ },
...(hasTrigger.hover && {
mouseenter: this.onMouseEnter,
mouseleave: this.onMouseLeave,
diff --git a/src/popup/props.ts b/src/popup/props.ts
index caf3f6faf..1f9aafdd2 100644
--- a/src/popup/props.ts
+++ b/src/popup/props.ts
@@ -81,6 +81,8 @@ export default {
zIndex: {
type: Number,
},
+ /** 内容面板点击时触发 */
+ onOverlayClick: Function as PropType,
/** 下拉选项滚动事件 */
onScroll: Function as PropType,
/** 下拉滚动触底事件,常用于滚动到底执行具体业务逻辑 */
diff --git a/src/popup/type.ts b/src/popup/type.ts
index ea190d68f..e1194c88b 100644
--- a/src/popup/type.ts
+++ b/src/popup/type.ts
@@ -89,6 +89,10 @@ export interface TdPopupProps {
* 组件层级,Web 侧样式默认为 5500,移动端和小程序样式默认为 1500
*/
zIndex?: number;
+ /**
+ * 内容面板点击时触发
+ */
+ onOverlayClick?: (context: { e: MouseEvent }) => void;
/**
* 下拉选项滚动事件
*/