From ef98b75aff50beeb3ee1ce001880591e8c07e7cf Mon Sep 17 00:00:00 2001 From: Jikkai Xiao Date: Mon, 25 Jun 2018 15:59:49 +0800 Subject: [PATCH] Tabs: add activeName and oldActiveName parameters to before-leave hook (#11713) * Tabs: add activeName and oldActiveName parameters to before-leave hook * Tabs: fix docs --- examples/docs/en-US/tabs.md | 2 +- examples/docs/es/tabs.md | 2 +- examples/docs/zh-CN/tabs.md | 2 +- packages/tabs/src/tabs.vue | 2 +- types/tabs.d.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/docs/en-US/tabs.md b/examples/docs/en-US/tabs.md index 1eae67e52..586cd0170 100644 --- a/examples/docs/en-US/tabs.md +++ b/examples/docs/en-US/tabs.md @@ -377,7 +377,7 @@ Only card type Tabs support addable & closeable. | value | name of the selected tab | string | — | name of first tab | | tab-position | position of tabs | string | top/right/bottom/left | top | | stretch | whether width of tab automatically fits its container | boolean | - | false | -| before-leave | hook function before switching tab. If `false` is returned or a `Promise` is returned and then is rejected, switching will be prevented | function | — | — | +| before-leave | hook function before switching tab. If `false` is returned or a `Promise` is returned and then is rejected, switching will be prevented | Function(activeName, oldActiveName) | — | — | ### Tabs Events | Event Name | Description | Parameters | diff --git a/examples/docs/es/tabs.md b/examples/docs/es/tabs.md index 9743f44c6..bafae0b3d 100644 --- a/examples/docs/es/tabs.md +++ b/examples/docs/es/tabs.md @@ -377,7 +377,7 @@ Solo las pestañas de tipo tarjeta soportan adición y cierre. | value | nombre de la pestaña seleccionada | string | — | nombre de la primer pestaña | | tab-position | posición de tabulación | string | top/right/bottom/left | top | | stretch | si el ancho del tab se ajusta automáticamente a su contenedor | boolean | - | false | -| before-leave | función `hook` antes de cambiar de pestaña. Si se devuelve `false` o se devuelve una `Promise` y luego se rechaza, se evitará el cambio. | function | — | — | +| before-leave | función `hook` antes de cambiar de pestaña. Si se devuelve `false` o se devuelve una `Promise` y luego se rechaza, se evitará el cambio. | Function(activeName, oldActiveName) | — | — | ### Eventos de Pestañas | Nombre de Evento | Descripción | Parámetros | diff --git a/examples/docs/zh-CN/tabs.md b/examples/docs/zh-CN/tabs.md index 4ef3ccc61..74b4b3c87 100644 --- a/examples/docs/zh-CN/tabs.md +++ b/examples/docs/zh-CN/tabs.md @@ -375,7 +375,7 @@ | value | 绑定值,选中选项卡的 name | string | — | 第一个选项卡的 name | | tab-position | 选项卡所在位置 | string | top/right/bottom/left | top | | stretch | 标签的宽度是否自撑开 | boolean | - | false | -| before-leave | 切换标签之前的钩子,若返回 false 或者返回 Promise 且被 reject,则阻止切换。 | function | — | — | +| before-leave | 切换标签之前的钩子,若返回 false 或者返回 Promise 且被 reject,则阻止切换。 | Function(activeName, oldActiveName) | — | — | ### Tabs Events | 事件名称 | 说明 | 回调参数 | diff --git a/packages/tabs/src/tabs.vue b/packages/tabs/src/tabs.vue index 2abb62a3d..21429888f 100644 --- a/packages/tabs/src/tabs.vue +++ b/packages/tabs/src/tabs.vue @@ -74,7 +74,7 @@ this.$emit('input', value); }; if (this.currentName !== value && this.beforeLeave) { - const before = this.beforeLeave(); + const before = this.beforeLeave(value, this.currentName); if (before && before.then) { before.then(() => { changeCurrentName(); diff --git a/types/tabs.d.ts b/types/tabs.d.ts index 784b42488..fee7c1a8a 100644 --- a/types/tabs.d.ts +++ b/types/tabs.d.ts @@ -27,5 +27,5 @@ export declare class ElTabs extends ElementUIComponent { stretch: Boolean /** Hook function before switching tab. If false or a Promise is returned and then is rejected, switching will be prevented */ - beforeLeave: () => boolean | Promise + beforeLeave: (activeName: string, oldActiveName: string) => boolean | Promise }