fix(DatetimePicker): incorrecrt initial value when use min-date and filter (#4837)

This commit is contained in:
neverland 2019-10-25 17:15:50 +08:00 committed by GitHub
parent 38a6080803
commit 80fc7024f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 0 deletions

View File

@ -60,6 +60,10 @@ export const TimePickerMixin = {
mounted() {
this.updateColumnValue();
this.$nextTick(() => {
this.updateInnerValue();
});
},
methods: {

View File

@ -110,3 +110,28 @@ test('dynamic set value', () => {
expect(wrapper.emitted('confirm')[0][0].getFullYear()).toEqual(2019);
expect(wrapper.emitted('confirm')[1][0].getFullYear()).toEqual(2025);
});
test('use min-date with filter', async () => {
const minDate = new Date(2030, 0, 0, 0, 3);
const maxDate = new Date(2040, 0, 0, 0, 0);
const wrapper = mount(DatePicker, {
propsData: {
minDate,
maxDate,
value: new Date(2020, 0, 0, 0, 0),
filter(type, values) {
if (type === 'minute') {
return values.filter(value => value % 30 === 0);
}
return values;
}
}
});
await later();
wrapper.find('.van-picker__confirm').trigger('click');
expect(wrapper.emitted('confirm')[0][0]).toEqual(new Date(2030, 0, 0, 0, 30));
});