diff --git a/packages/index-bar/en-US.md b/packages/index-bar/en-US.md index 35838e692..202f58f67 100644 --- a/packages/index-bar/en-US.md +++ b/packages/index-bar/en-US.md @@ -68,6 +68,12 @@ export default { |------|------|------|------| | index | Index | `String | Number` | - | +### IndexBar Events + +| Event | Description | Arguments | +|------|------|------| +| select | Triggered when select index | index | + ### IndexAnchor Slots | Name | Description | diff --git a/packages/index-bar/index.js b/packages/index-bar/index.js index c2fff1722..27dbe1a48 100644 --- a/packages/index-bar/index.js +++ b/packages/index-bar/index.js @@ -60,6 +60,7 @@ export default sfc({ const match = this.children.filter(item => String(item.index) === index); if (match[0]) { match[0].scrollIntoView(); + this.$emit('select', match[0].index); } }, diff --git a/packages/index-bar/test/index.spec.js b/packages/index-bar/test/index.spec.js index 5f5dc5299..94015c986 100644 --- a/packages/index-bar/test/index.spec.js +++ b/packages/index-bar/test/index.spec.js @@ -26,30 +26,40 @@ test('custom anchor text', () => { }); test('click and scroll to anchor', () => { + const onSelect = jest.fn(); const wrapper = mount({ template: ` - + - ` + `, + methods: { + onSelect + } }); const fn = mockScrollIntoView(); const indexes = wrapper.findAll('.van-index-bar__index'); indexes.at(0).trigger('click'); + expect(fn).toHaveBeenCalledTimes(1); + expect(onSelect).toHaveBeenCalledWith('A'); }); test('touch and scroll to anchor', () => { + const onSelect = jest.fn(); const wrapper = mount({ template: ` - + - ` + `, + methods: { + onSelect + } }); const fn = mockScrollIntoView(); @@ -82,4 +92,5 @@ test('touch and scroll to anchor', () => { trigger(sidebar, 'touchmove', 0, 400); trigger(sidebar, 'touchend', 0, 400); expect(fn).toHaveBeenCalledTimes(1); + expect(onSelect).toHaveBeenCalledWith('B'); }); diff --git a/packages/index-bar/zh-CN.md b/packages/index-bar/zh-CN.md index 75df19b0b..653bbe419 100644 --- a/packages/index-bar/zh-CN.md +++ b/packages/index-bar/zh-CN.md @@ -72,6 +72,12 @@ export default { |------|------|------|------|------| | index | 索引字符 | `String | Number` | - | - | +### IndexBar Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| select | 选中字符时触发 | index: 索引字符 | + ### IndexAnchor Slots | 名称 | 说明 |