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

38 lines
964 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) {
return oneOf(value, ['year', 'month', 'week', 'date', 'daterange', 'datetime', 'datetimerange']);
},
2016-12-12 10:37:52 +08:00
default: 'date'
2016-12-14 23:08:57 +08:00
},
value: {
type: [String, Array]
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);
}
}