feat(NoticeBar): add replay event (#6079)

This commit is contained in:
neverland 2020-04-17 21:34:02 +08:00 committed by GitHub
parent 31674a162c
commit e95e09764a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 9 deletions

View File

@ -71,10 +71,11 @@ Vue.use(NoticeBar);
### Events
| Event | Description | Arguments |
| ----- | ------------------------------ | -------------- |
| click | Triggered when click NoticeBar | _event: Event_ |
| close | Triggered when closed | _event: Event_ |
| Event | Description | Arguments |
| --------------- | ------------------------------ | -------------- |
| click | Triggered when click NoticeBar | _event: Event_ |
| close | Triggered when closed | _event: Event_ |
| replay `v2.6.2` | Triggered when replay | - |
### Slots

View File

@ -79,10 +79,11 @@ Vue.use(NoticeBar);
### Events
| 事件名 | 说明 | 回调参数 |
| ------ | ---------------- | -------------- |
| click | 点击通知栏时触发 | _event: Event_ |
| close | 关闭通知栏时触发 | _event: Event_ |
| 事件名 | 说明 | 回调参数 |
| --------------- | ---------------------------- | -------------- |
| click | 点击通知栏时触发 | _event: Event_ |
| close | 关闭通知栏时触发 | _event: Event_ |
| replay `v2.6.2` | 每当滚动栏重新开始滚动时触发 | - |
### Slots

View File

@ -72,6 +72,7 @@ export default createComponent({
this.$nextTick(() => {
this.duration = (this.offsetWidth + this.wrapWidth) / this.speed;
this.animationClass = bem('play--infinite');
this.$emit('replay');
});
},
},

View File

@ -1,5 +1,5 @@
import NoticeBar from '..';
import { mount } from '../../../test';
import { mount, later } from '../../../test';
test('click event', () => {
const wrapper = mount(NoticeBar);
@ -36,3 +36,15 @@ test('icon slot', () => {
expect(wrapper).toMatchSnapshot();
});
test('replay event', async () => {
const wrapper = mount(NoticeBar, {
propsData: {
text: 'foo',
},
});
wrapper.find('.van-notice-bar__content').trigger('animationend');
await later();
expect(wrapper.emitted('replay')).toBeTruthy();
});