iview/src/components/date-picker/picker/date-picker.js

37 lines
915 B
JavaScript
Raw Normal View History

2016-12-12 10:37:52 +08:00
import Picker from '../picker.vue';
import DatePanel from '../panel/date.vue';
import DateRangePanel from '../panel/date-range.vue';
const getPanel = function (type) {
if (type === 'daterange' || type === 'datetimerange') {
return DateRangePanel;
}
return DatePanel;
};
2016-12-12 20:34:28 +08:00
import { oneOf } from '../../../utils/assist';
2016-12-12 10:37:52 +08:00
export default {
mixins: [Picker],
props: {
type: {
2016-12-12 20:34:28 +08:00
validator (value) {
2016-12-19 09:59:08 +08:00
return oneOf(value, ['year', 'month', 'date', 'daterange', 'datetime', 'datetimerange']);
2016-12-12 20:34:28 +08:00
},
2016-12-12 10:37:52 +08:00
default: 'date'
2016-12-14 23:08:57 +08:00
},
2016-12-15 20:16:58 +08:00
value: {}
2016-12-12 10:37:52 +08:00
},
2016-12-14 23:08:57 +08:00
created () {
if (!this.value) {
if (this.type === 'daterange' || this.type === 'datetimerange') {
this.value = ['',''];
} else {
this.value = '';
}
}
2016-12-12 10:37:52 +08:00
this.panel = getPanel(this.type);
}
2016-12-25 22:49:42 +08:00
};