2021-12-21 09:51:43 +08:00

61 lines
1.4 KiB
TypeScript

import { VantComponent } from '../../common/component';
import Toast from '../../toast/toast';
VantComponent({
data: {
minHour: 10,
maxHour: 20,
minDate: new Date(2018, 0, 1).getTime(),
maxDate: new Date(2019, 10, 1).getTime(),
currentDate1: new Date(2018, 2, 31).getTime(),
currentDate2: null,
currentDate3: new Date(2018, 0, 1),
currentDate4: '12:00',
loading: false,
formatter(type, value) {
if (type === 'year') {
return `${value}`;
}
if (type === 'month') {
return `${value}`;
}
return value;
},
filter(type, options) {
if (type === 'minute') {
return options.filter((option) => option % 5 === 0);
}
return options;
},
},
methods: {
onInput(event) {
const { detail, currentTarget } = event;
const result = this.getResult(detail, currentTarget.dataset.type);
Toast({
context: this,
message: result,
});
},
getResult(time, type) {
const date = new Date(time);
switch (type) {
case 'datetime':
return date.toLocaleString();
case 'date':
return date.toLocaleDateString();
case 'year-month':
return `${date.getFullYear()}/${date.getMonth() + 1}`;
case 'time':
return time;
default:
return '';
}
},
},
});