diff --git a/src/components/datetime/index.vue b/src/components/datetime/index.vue index ee9a4dce9..b559a2c6f 100755 --- a/src/components/datetime/index.vue +++ b/src/components/datetime/index.vue @@ -92,6 +92,7 @@ export default { displayFormat: Function }, created () { + this.isFirstSetValue = false this.currentValue = this.value this.handleChangeEvent = true }, @@ -177,9 +178,14 @@ export default { } }, watch: { - currentValue (val) { - this.$emit('on-change', val) + currentValue (val, oldVal) { this.$emit('input', val) + if (!this.isFirstSetValue) { + this.isFirstSetValue = true + oldVal && this.$emit('on-change', val) + } else { + this.$emit('on-change', val) + } this.validate() }, startDate () { diff --git a/src/components/datetime/metas.yml b/src/components/datetime/metas.yml index 599af5b20..e9ed8d3ac 100644 --- a/src/components/datetime/metas.yml +++ b/src/components/datetime/metas.yml @@ -122,6 +122,11 @@ events: en: $emits when value changes, `(newVal)` zh-CN: 表单值变化时触发, 参数 `(newVal)` changes: + next: + en: + - '[fix] do not trigger on-change on first-value-setting' + zh-CN: + - '[fix] 初始化时不触发 on-change 事件' v2.2.1-rc.8: en: - '[enhance] now changing prop:format will trigger re-rendering'