组件里的代码(HTML代码 )添加限制:picker-options="pickerOptions0":
<div>
<span class="demonstration">起止时间:</span>
<el-date-picker
v-model="startTime"
type="month"
size="small"
value-format="yyyyMM"
format="yyyy-MM"
placeholder="开始时间"
:picker-options="pickerOptions0">
</el-date-picker>
至
<el-date-picker
v-model="endTime"
type="month"
size="small"
value-format="yyyyMM"
format="yyyy-MM"
placeholder="结束时间"
:picker-options="pickerOptions1">
</el-date-picker>
<el-button size="small" type="primary" @click="queryForTime">查询</el-button>
</div>
script(vue实例)里面的代码,记的var oper = new Vue({}),因为里面用到oper,
这个是限制 : 开始时间不能大于结束时间,结束时间不能小于开始时间
<script>
var oper = new Vue({
el: '#operateDiv',
data: {
startTime:'',//开始时间
endTime:'',//结束时间
pickerOptions0:{
disabledDate(time) {
if(typeof(oper.endTime)===undefined||oper.endTime===''){
return time.getTime() > Date.now();
}else{
var sta = oper.endTime.substring(0,4)+'/'+oper.endTime.substring(4,6)+'/01'
return time.getTime() > new Date(sta).getTime() || time.getTime() > Date.now();
}
}},
pickerOptions1:{
disabledDate(time) {
if(typeof(oper.startTime)===undefined||oper.startTime===''){
return time.getTime() > Date.now();
}else{
var sta = oper.startTime.substring(0,4)+'/'+oper.startTime.substring(4,6)+'/01'
return time.getTime() < new Date(sta).getTime() || time.getTime() > Date.now();
}
}},
},
})
运行结果: