思路:
mint-ui 只提供年月日日历选择,如果我们只想要选择年、或者选择月份,我们可以通过获取年元素、月元素、日元素,在日历元素生成时将其隐藏或删除,因为该日历组成是打开的时候才生成,所以操作元素的动作要在日历打开时进行。
步骤
mint-ui 是基于vue的基础上构造的,因此可以通过$refs
获取元素
(1)创建日历容器和日历按钮
点击按钮调用open()
<mt-datetime-picker
ref="day"
type="date"
year-format="{value} 年"
month-format="{value} 月"
date-format="{value} 日"
:startDate="new Date(2019, 0, 0 )"
:endDate="new Date()"
@confirm="dayConfirm"
:class="classDay"
></mt-datetime-picker>
<button type="button" @click="open">年历</button>
(2)日历打开时删除元素
methods: {
open() {
//打开年历控件,顺序不要反,要先创建日历才能选中日历元素
this.$refs.year.open();
//获取年历日月元素并影藏 //2是日元素、1是月元素、0是年元素
this.$refs.year.$el.getElementsByClassName('picker-slot')[2].style.display = 'none'
this.$refs.year.$el.getElementsByClassName('picker-slot')[1].style.display = 'none'
}
}
这样就可以根据自己的需求创建日历了