From 1404c82dba84a022275a7d479ad6feaa17e1d909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:22:15 +0800 Subject: [PATCH] feat(CountDown): add change event (#5599) --- src/count-down/README.md | 1 + src/count-down/README.zh-CN.md | 1 + src/count-down/index.js | 1 + src/count-down/test/index.spec.js | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+) diff --git a/src/count-down/README.md b/src/count-down/README.md index be01b2d78..cf290f05b 100644 --- a/src/count-down/README.md +++ b/src/count-down/README.md @@ -130,6 +130,7 @@ export default { | Event | Description | Arguments | |------|------|------| | finish | Triggered when count down finished | - | +| change `2.4.4` | Triggered when count down changed | timeData | ### Slots diff --git a/src/count-down/README.zh-CN.md b/src/count-down/README.zh-CN.md index f89d24cc9..1246fef76 100644 --- a/src/count-down/README.zh-CN.md +++ b/src/count-down/README.zh-CN.md @@ -140,6 +140,7 @@ export default { | 事件名 | 说明 | 回调参数 | |------|------|------| | finish | 倒计时结束时触发 | - | +| change `2.4.4` | 倒计时变化时触发 | timeData | ### Slots diff --git a/src/count-down/index.js b/src/count-down/index.js index 3996c01ad..609952674 100644 --- a/src/count-down/index.js +++ b/src/count-down/index.js @@ -141,6 +141,7 @@ export default createComponent({ setRemain(remain) { this.remain = remain; + this.$emit('change', this.timeData); if (remain === 0) { this.pause(); diff --git a/src/count-down/test/index.spec.js b/src/count-down/test/index.spec.js index a2256bda6..1f0376509 100644 --- a/src/count-down/test/index.spec.js +++ b/src/count-down/test/index.spec.js @@ -213,3 +213,21 @@ test('pause when deactivated', async () => { wrapper.setData({ render: true }); expect(countDown.counting).toBeFalsy(); }); + +test('change event', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 1, + }, + }); + + expect(wrapper.emitted('change')).toBeFalsy(); + await later(50); + expect(wrapper.emitted('change')[0][0]).toEqual({ + days: 0, + hours: 0, + milliseconds: 0, + minutes: 0, + seconds: 0, + }); +});