项目要求:选择日期只能选择本月内的日期,其余年份禁止选择。
<el-date-picker
v-model="scope.row.supplyDate"
class="widthinput"
type="date"
value-format="yyyy-MM-dd"
:picker-options="pickerdate"
>
</el-date-picker>
定义事件,注意需要引入时间控制器 import moment from ‘moment’
没有的话先 npm install --save moment 下载。然后data里定义这些后期需要的对象。
事件的方法在这里定义,现在 this.dataList 就是可以选择的范围了,在这个数组里日期格式必须是’YYYY-MM-DD’
methods: {
disabledDate(time) {
const timeFormat = moment(time).format('YYYY-MM-DD')
if (this.dataList.indexOf(timeFormat) >= 0) {
return false
}
return true
}
}
下面就是日期的拼接,拼接好以后放入数组里。
mounted() {
const myDate = new Date() // 时间
this.year = myDate.getFullYear() // 获取年份
const months = myDate.getMonth() + 1 // 获取月份
if (months < 10) {
this.month = '0' + months // 月份小于10前面加0
} else {
this.month = months
}
for (let i = 1; i <= 31; i++) { // 获取日期,循环日期
if (i < 10) { // 日期小于10加0
const dates = '0' + i
const yaermondate = `${this.year}-${this.month}-${dates}`
this.dataList.push(yaermondate)
} else {
const yaermondate = `${this.year}-${this.month}-${i}`
this.dataList.push(yaermondate)
}
}
}