diff --git a/src/datetime-picker/TimePicker.js b/src/datetime-picker/TimePicker.js index 15701c8eb..a283ac810 100644 --- a/src/datetime-picker/TimePicker.js +++ b/src/datetime-picker/TimePicker.js @@ -55,7 +55,7 @@ export default createComponent({ if (val !== this.innerValue) { this.innerValue = val; - this.updateColumnValue(val); + this.updateColumnValue(); } }, }, @@ -81,6 +81,7 @@ export default createComponent({ const minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0]; this.innerValue = this.formatValue(`${hour}:${minute}`); + this.updateColumnValue(); }, onChange(picker) { diff --git a/src/datetime-picker/test/time-picker.spec.js b/src/datetime-picker/test/time-picker.spec.js index 7e88cf868..a6677a790 100644 --- a/src/datetime-picker/test/time-picker.spec.js +++ b/src/datetime-picker/test/time-picker.spec.js @@ -126,3 +126,27 @@ test('set max-hour & max-minute smaller than current then emit correct value', a wrapper.find('.van-picker__confirm').trigger('click'); expect(wrapper.emitted('confirm')[0][0]).toEqual('00:00'); }); + +test('set min-minute dynamically', async () => { + const wrapper = mount({ + template: ` + + `, + data() { + return { + currentTime: '12:30', + }; + }, + }); + + triggerDrag(wrapper.find('.van-picker-column'), 0, -100); + wrapper.find('.van-picker__confirm').trigger('click'); + expect(wrapper.emitted('confirm')[0][0]).toEqual('13:00'); +});