UNPKG

wangbd-myui

Version:

MY前端基础框架核心组件库

73 lines (67 loc) 2.02 kB
/** * 文本框组件,继承Base * @module $ui/components/my-date-picker */ import {DatePicker, TimePicker, TimeSelect} from 'element-ui' import Base from '../Base' export default { name: 'MyDatePicker', mixins: [Base], components: { DatePicker, TimePicker, TimeSelect }, props: { value: [Date, String, Number, Array], mode: { type: String, default: 'date', validator(val) { return ['time', 'timeSelect', 'date', 'dateTime'].includes(val) } } }, methods: {}, render() { let vnode = null if (this.mode === 'date') { vnode = ( <DatePicker ref="comp" class="my-date-picker" {...{props: this.innerProps, on: this.$listeners, attrs: this.innerProps}} vModel={this.fieldValue}> </DatePicker> ) } else if (this.mode === 'dateTime') { vnode = ( <DatePicker ref="comp" class="my-date-picker" {...{props: this.innerProps, on: this.$listeners, attrs: this.innerProps}} type="datetime" vModel={this.fieldValue}> </DatePicker> ) } else if (this.mode === 'time') { vnode = ( <TimePicker ref="comp" class="my-date-picker" {...{props: this.innerProps, on: this.$listeners, attrs: this.innerProps}} vModel={this.fieldValue}> </TimePicker> ) } else if (this.mode === 'timeSelect') { vnode = ( <TimeSelect ref="comp" class="my-date-picker" {...{props: this.innerProps, on: this.$listeners, attrs: this.innerProps}} vModel={this.fieldValue}> </TimeSelect> ) } return this.renderComponent(vnode) }, mounted() { this.extendMethods(this.$refs.comp, ['focus']) } }