- 需求 : 月份选择器,可选范围为,现在这一刻到3年前这一刻的月份可以选择,其余的不能选择
- 主要知识点:主要使用到了element的
:picker-optionss属性 下的disabledDate
,另外使用了moment .js
- 代码环境:vue2 element
- 代码
// html
<div class="action-item">
<span>月份选择:</span>
<el-date-picker
v-model="monthVal"
type="month"
placeholder="选择月"
:picker-options="pickerOptions"
>
</el-date-picker>
</div>
// JS
import moment from 'moment'
data(){
return{
pickerOptions: {
// 计算 从此刻到3年以前这个刻的月份,超过这个时间段的不能选择
disabledDate(time) { // 重点
let year3time = moment().subtract(3, 'year') // 使用了moment.js来求三年以前的这一刻的时间点
return time.getTime() > Date.now() || time.getTime() < year3time;
},
// shortcuts: [
// {
// text: '今天',
// onClick(picker) {
// picker.$emit('pick', new Date());
// }
// },
// {
// text: '昨天',
// onClick(picker) {
// const date = new Date();
// date.setTime(date.getTime() - 3600 * 1000 * 24);
// picker.$emit('pick', date);
// }
// },
// {
// text: '一周前',
// onClick(picker) {
// const date = new Date();
// date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
// picker.$emit('pick', date);
// }
// },
// ]
},
}}