diff --git a/packages/tab/en-US.md b/packages/tab/en-US.md index f3c955bde..39a5c59d5 100644 --- a/packages/tab/en-US.md +++ b/packages/tab/en-US.md @@ -174,12 +174,19 @@ In swipeable mode, you can switch tabs with swipe gestrue in the content | title | Title | `String` | - | | disabled | Whether to disable tab | `Boolean` | `false` | +### Tabs Slot + +| name | Description | +|------|------| +| nav-left | Custom nav left content | +| nav-right | Custom nav right content | + ### Tab Slot | name | Description | |------|------| -| - | Content | -| title | Custom tab | +| default | Content of tab | +| title | Custom tab title | ### Tabs Event diff --git a/packages/tab/test/__snapshots__/index.spec.js.snap b/packages/tab/test/__snapshots__/index.spec.js.snap index a681b9ca5..21b6ff2c5 100644 --- a/packages/tab/test/__snapshots__/index.spec.js.snap +++ b/packages/tab/test/__snapshots__/index.spec.js.snap @@ -139,6 +139,28 @@ exports[`lazy render 2`] = ` `; +exports[`render nav-left & nav-right slot 1`] = ` +
+
+
Nav Left
+
title1
+
+
title3
Nav Right +
+
+
+
Text
+ + +
+
+`; + exports[`swipe to switch tab 1`] = `
diff --git a/packages/tab/test/index.spec.js b/packages/tab/test/index.spec.js index ad51b3263..ee61313a9 100644 --- a/packages/tab/test/index.spec.js +++ b/packages/tab/test/index.spec.js @@ -2,17 +2,19 @@ import Tab from '..'; import Tabs from '../../tabs'; import { mount, later, triggerDrag } from '../../../test/utils'; -function createWrapper(options) { +function createWrapper(options = {}) { return mount({ template: ` - + ${options.extraTemplate || ''} Text title2 @@ -112,3 +114,14 @@ test('lazy render', async () => { await later(); expect(wrapper).toMatchSnapshot(); }); + +test('render nav-left & nav-right slot', async () => { + const wrapper = createWrapper({ + extraTemplate: ` + + + ` + }); + + expect(wrapper).toMatchSnapshot(); +}); diff --git a/packages/tab/zh-CN.md b/packages/tab/zh-CN.md index 8139a27be..25b2747ea 100644 --- a/packages/tab/zh-CN.md +++ b/packages/tab/zh-CN.md @@ -178,11 +178,18 @@ export default { | title | 标题 | `String` | - | - | | disabled | 是否禁用标签 | `Boolean` | `false` | - | +### Tabs Slot + +| 名称 | 说明 | +|------|------| +| nav-left | 标题左侧内容 | +| nav-right | 标题右侧内容 | + ### Tab Slot | 名称 | 说明 | |------|------| -| - | 标签页内容 | +| default | 标签页内容 | | title | 自定义标签 | ### Tabs Event diff --git a/packages/tabs/index.js b/packages/tabs/index.js index 1aad650d2..0b9aec2b1 100644 --- a/packages/tabs/index.js +++ b/packages/tabs/index.js @@ -425,8 +425,10 @@ export default sfc({ class={[bem('wrap', { scrollable }), { 'van-hairline--top-bottom': type === 'line' }]} >
+ {this.slots('nav-left')} {type === 'line' &&
} {Nav} + {this.slots('nav-right')}