mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
6.3 KiB
6.3 KiB
DatetimePicker
Intro
Used to select time, support date and time dimensions, usually used with the Popup component.
Install
import { createApp } from 'vue';
import { DatetimePicker } from 'vant';
const app = createApp();
app.use(DatetimePicker);
Usage
Choose Date
<van-datetime-picker
v-model="currentDate"
type="date"
title="Choose Date"
:min-date="minDate"
:max-date="maxDate"
/>
export default {
data() {
return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
};
Choose Year-Month
<van-datetime-picker
v-model="currentDate"
type="year-month"
title="Choose Year-Month"
:min-date="minDate"
:max-date="maxDate"
:formatter="formatter"
/>
export default {
data() {
return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
methods: {
formatter(type, val) {
if (type === 'year') {
return `${val} Year`;
} else if (type === 'month') {
return `${val} Month`;
}
return val;
},
},
};
Choose Month-Day
<van-datetime-picker
v-model="currentDate"
type="month-day"
title="Choose Month-Day"
:min-date="minDate"
:max-date="maxDate"
:formatter="formatter"
/>
export default {
data() {
return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
methods: {
formatter(type, val) {
if (type === 'month') {
return `${val} Month`;
} else if (type === 'day') {
return `${val} Day`;
}
return val;
},
},
};
Choose Time
<van-datetime-picker
v-model="currentTime"
type="time"
title="Choose Time"
:min-hour="10"
:max-hour="20"
/>
export default {
data() {
return {
currentTime: '12:00',
};
},
};
Choose DateTime
<van-datetime-picker
v-model="currentDate"
type="datetime"
title="Choose DateTime"
:min-date="minDate"
:max-date="maxDate"
/>
export default {
data() {
return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
};
Choose DateHour
<van-datetime-picker
v-model="currentDate"
type="datehour"
title="Choose DateTime"
:min-date="minDate"
:max-date="maxDate"
/>
export default {
data() {
return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
};
Option Filter
<van-datetime-picker
v-model="currentTime"
type="time"
title="Option Filter"
:filter="filter"
/>
export default {
data() {
return {
currentTime: '12:00',
};
},
methods: {
filter(type, options) {
if (type === 'minute') {
return options.filter((option) => option % 5 === 0);
}
return options;
},
},
};
Columns Order
<van-datetime-picker
v-model="currentDate"
type="date"
title="自定义列排序"
:columns-order="['month', 'day', 'year']"
:formatter="formatter"
/>
export default {
data() {
return {
currentDate: new Date(),
};
},
methods: {
formatter(type, val) {
if (type === 'year') {
return val + ' Year';
}
if (type === 'month') {
return val + ' Month';
}
if (type === 'day') {
return val + ' Day';
}
return val;
},
},
};
API
Props
Attribute | Description | Type | Default |
---|---|---|---|
type | Can be set to date time year-month month-day datehour |
string | datetime |
title | Toolbar title | string | '' |
confirm-button-text | Text of confirm button | string | Confirm |
cancel-button-text | Text of cancel button | string | Cancel |
show-toolbar | Whether to show toolbar | boolean | true |
loading | Whether to show loading prompt | boolean | false |
readonly v2.10.5 |
Whether to be readonly | boolean | false |
filter | Option filter | (type, vals) => vals | - |
formatter | Option text formatter | (type, val) => val | - |
columns-order v2.9.2 |
Array for ordering columns, where item can be set toyear , month , day , hour and minute |
string[] | - |
item-height v2.8.6 |
Option height, supports px vw rem unit, default px |
number | string | 44 |
visible-item-count | Count of visible columns | number | string | 6 |
swipe-duration | Duration of the momentum animation,unit ms |
number | string | 1000 |
DatePicker Props
Following props are supported when the type is date or datetime
Attribute | Description | Type | Default |
---|---|---|---|
min-date | Min date | Date | Ten years ago on January 1 |
max-date | Max date | Date | Ten years later on December 31 |
TimePicker Props
Following props are supported when the type is time
Attribute | Description | Type | Default |
---|---|---|---|
min-hour | Min hour for time type |
number | string | 0 |
max-hour | Max hour for time type |
number | string | 23 |
min-minute | Max minute for time type |
number | string | 0 |
max-minute | Max minute for time type |
number | string | 59 |
Events
Event | Description | Arguments |
---|---|---|
change | Triggered when value changed | value: current value |
confirm | Triggered when click confirm button | value: current value |
cancel | Triggered when click cancel button | - |
Methods
Use ref to get DatetimePicker instance and call instance methods.
Name | Description | Attribute | Return value |
---|---|---|---|
getPicker v2.5.3 |
get Picker instance | - | - |