UNPKG

@shinhotech/sh-ui

Version:

A Component Library for Vue.js.

52 lines (45 loc) 1.05 kB
/* * @Descripttion: 切换插件 * @Author: 18040185 * @Date: 2021-11-09 15:36:34 */ import Picker from '../picker'; import DatePanel from '../panel/date'; import DateRangePanel from '../panel/date-range'; import MonthRangePanel from '../panel/month-range'; import QuarterRangePanel from '../panel/quarter-range'; const getPanel = function(type) { if (type === 'daterange' || type === 'datetimerange') { return DateRangePanel; } else if (type === 'monthrange') { return MonthRangePanel; } else if (type === 'quarterange') { return QuarterRangePanel; } return DatePanel; }; export default { mixins: [Picker], name: 'ElDatePicker', props: { type: { type: String, default: 'date' }, timeArrowControl: Boolean }, watch: { type(type) { if (this.picker) { this.unmountPicker(); this.panel = getPanel(type); this.mountPicker(); } else { this.panel = getPanel(type); } } }, created() { this.panel = getPanel(this.type); } };