yyzone
Version:
yyzone vue components and utils
46 lines (44 loc) • 1.35 kB
JavaScript
import Picker from '../picker.vue'
import TimePickerPanel from '../panel/Time/time.vue'
import RangeTimePickerPanel from '../panel/Time/time-range.vue'
import Options from '../time-mixins'
import { findComponentsDownward, oneOf } from '../../../../utils/assist'
export default {
mixins: [Picker, Options],
components: {
TimePickerPanel,
RangeTimePickerPanel
},
props: {
type: {
validator(value) {
return oneOf(value, ['time', 'timerange'])
},
default: 'time'
},
},
computed: {
panel() {
const isRange = this.type === 'timerange'
return isRange ? 'RangeTimePickerPanel' : 'TimePickerPanel'
},
ownPickerProps() {
return {
disabledHours: this.disabledHours,
disabledMinutes: this.disabledMinutes,
disabledSeconds: this.disabledSeconds,
hideDisabledOptions: this.hideDisabledOptions
}
}
},
watch: {
visible(visible) {
if (visible) {
this.$nextTick(() => {
const spinners = findComponentsDownward(this, 'TimeSpinner')
spinners.forEach(instance => instance.updateScroll())
})
}
}
}
}