mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-24 15:39:15 +08:00
fix(DatetimePicker): fixed show incorrect date time when dynamic set mindate or maxdate (#8640)
This commit is contained in:
parent
f470f0f854
commit
882cc9efd6
@ -30,7 +30,11 @@ export default createComponent({
|
|||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
filter: 'updateInnerValue',
|
filter: 'updateInnerValue',
|
||||||
minDate: 'updateInnerValue',
|
minDate() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.updateInnerValue();
|
||||||
|
});
|
||||||
|
},
|
||||||
maxDate: 'updateInnerValue',
|
maxDate: 'updateInnerValue',
|
||||||
|
|
||||||
value(val) {
|
value(val) {
|
||||||
|
@ -45,7 +45,11 @@ export default createComponent({
|
|||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
filter: 'updateInnerValue',
|
filter: 'updateInnerValue',
|
||||||
minHour: 'updateInnerValue',
|
minHour() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.updateInnerValue();
|
||||||
|
});
|
||||||
|
},
|
||||||
maxHour: 'updateInnerValue',
|
maxHour: 'updateInnerValue',
|
||||||
minMinute: 'updateInnerValue',
|
minMinute: 'updateInnerValue',
|
||||||
maxMinute: 'updateInnerValue',
|
maxMinute: 'updateInnerValue',
|
||||||
|
@ -215,7 +215,7 @@ test('use min-date with filter', async () => {
|
|||||||
|
|
||||||
test('v-model', async () => {
|
test('v-model', async () => {
|
||||||
const minDate = new Date(2030, 0, 0, 0, 3);
|
const minDate = new Date(2030, 0, 0, 0, 3);
|
||||||
|
|
||||||
const wrapper = mount({
|
const wrapper = mount({
|
||||||
template: `
|
template: `
|
||||||
<van-datetime-picker
|
<van-datetime-picker
|
||||||
@ -232,7 +232,7 @@ test('v-model', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.find('.van-picker__confirm').trigger('click');
|
wrapper.find('.van-picker__confirm').trigger('click');
|
||||||
expect(wrapper.vm.date).toEqual(minDate);
|
expect(wrapper.vm.date).toEqual(minDate);
|
||||||
});
|
});
|
||||||
@ -248,3 +248,29 @@ test('value has an inital value', () => {
|
|||||||
wrapper.find('.van-picker__confirm').trigger('click');
|
wrapper.find('.van-picker__confirm').trigger('click');
|
||||||
expect(wrapper.emitted('confirm')[0][0]).toEqual(defaultValue);
|
expect(wrapper.emitted('confirm')[0][0]).toEqual(defaultValue);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('change min-date and emit correct value', async () => {
|
||||||
|
const defaultValue = new Date(2020, 10, 2, 10, 30);
|
||||||
|
const wrapper = mount({
|
||||||
|
template: `
|
||||||
|
<van-datetime-picker
|
||||||
|
v-model="date"
|
||||||
|
:min-date="minDate"
|
||||||
|
@confirm="value => this.$emit('confirm', value)"
|
||||||
|
/>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
date: defaultValue,
|
||||||
|
minDate: new Date(2010, 0, 1, 10, 30),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.minDate = defaultValue;
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
await later();
|
||||||
|
wrapper.find('.van-picker__confirm').trigger('click');
|
||||||
|
expect(wrapper.emitted('confirm')[0][0]).toEqual(defaultValue);
|
||||||
|
});
|
||||||
|
@ -150,3 +150,29 @@ test('set min-minute dynamically', async () => {
|
|||||||
wrapper.find('.van-picker__confirm').trigger('click');
|
wrapper.find('.van-picker__confirm').trigger('click');
|
||||||
expect(wrapper.emitted('confirm')[0][0]).toEqual('13:00');
|
expect(wrapper.emitted('confirm')[0][0]).toEqual('13:00');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('change min-hour and emit correct value', async () => {
|
||||||
|
const wrapper = mount({
|
||||||
|
template: `
|
||||||
|
<van-datetime-picker
|
||||||
|
v-model="time"
|
||||||
|
type="time"
|
||||||
|
:min-hour="minHour"
|
||||||
|
@confirm="value => this.$emit('confirm', value)"
|
||||||
|
/>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
time: '10:30',
|
||||||
|
minHour: 1,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.minHour = 11;
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
await later();
|
||||||
|
wrapper.find('.van-picker__confirm').trigger('click');
|
||||||
|
expect(wrapper.emitted('confirm')[0][0]).toEqual('11:30');
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user