diff --git a/examples/sites/demos/apis/drawer.js b/examples/sites/demos/apis/drawer.js
index 9850c0865..6f7ff186c 100644
--- a/examples/sites/demos/apis/drawer.js
+++ b/examples/sites/demos/apis/drawer.js
@@ -182,9 +182,21 @@ export default {
}
],
events: [
+ {
+ name: 'open',
+ type: '() => void',
+ defaultValue: '',
+ desc: {
+ 'zh-CN': '打开抽屉事件',
+ 'en-US': ''
+ },
+ mode: ['pc', 'mobile-first'],
+ pcDemo: 'open-event',
+ mfDemo: ''
+ },
{
name: 'close',
- type: '()=> void',
+ type: '() => void',
defaultValue: '',
desc: {
'zh-CN': '关闭抽屉事件',
@@ -196,7 +208,7 @@ export default {
},
{
name: 'confirm',
- type: '()=> void',
+ type: '() => void',
defaultValue: '',
desc: {
'zh-CN': '确认事件,设置 :show-footer="true" 时有效',
diff --git a/examples/sites/demos/pc/app/drawer/open-event-composition-api.vue b/examples/sites/demos/pc/app/drawer/open-event-composition-api.vue
new file mode 100644
index 000000000..f1d5c4148
--- /dev/null
+++ b/examples/sites/demos/pc/app/drawer/open-event-composition-api.vue
@@ -0,0 +1,27 @@
+
+
+
+ 内容区域
+
+
+ 内容区域
+
打开抽屉事件。
', + 'en-US': '' + }, + codeFiles: ['open-event.vue'] + }, { demoId: 'close-event', name: { diff --git a/packages/renderless/src/drawer/index.ts b/packages/renderless/src/drawer/index.ts index c4d930584..798a7bba1 100644 --- a/packages/renderless/src/drawer/index.ts +++ b/packages/renderless/src/drawer/index.ts @@ -38,6 +38,7 @@ export const watchToggle = (bool: boolean) => { setTimeout(() => { emit('update:visible', bool) + bool && emit('open') }, 0) } diff --git a/packages/vue/src/drawer/src/pc.vue b/packages/vue/src/drawer/src/pc.vue index ddd5969b8..c0e6a33f2 100644 --- a/packages/vue/src/drawer/src/pc.vue +++ b/packages/vue/src/drawer/src/pc.vue @@ -144,6 +144,7 @@ export default defineComponent({ 'beforeClose', 'tipsProps' ], + emits: ['update:visible', 'open', 'close', 'confirm'], setup(props, context) { return setup({ props, context, renderless, api }) }