需求場(chǎng)景如下:
- 指定起止日期五督,后選的將會(huì)受到先選的限制
- 不同的日期選擇器押逼,不過也存在關(guān)聯(lián)關(guān)系
實(shí)現(xiàn)方法不難箫措,利用了 change
事件塑陵,動(dòng)態(tài)改變 picker-options
中的 disableDate
即可爱态。
Template
<script src="http://unpkg.com/vue/dist/vue.js"></script>
<script src="http://unpkg.com/element-ui@2.3.8/lib/index.js"></script>
<div id="app">
<template>
<div class="block">
<span class="demonstration">起始日期</span>
<el-date-picker v-model="startDate" type="date" placeholder="選擇日期" :picker-options="pickerOptionsStart" @change="changeEnd">
</el-date-picker>
</div>
<div class="block">
<span class="demonstration">截止日期</span>
<el-date-picker v-model="endDate" type="date" placeholder="選擇日期" :picker-options="pickerOptionsEnd" @change="changeStart">
</el-date-picker>
</div>
</template>
</div>
Script
var Main = {
data() {
return {
pickerOptionsStart: {},
pickerOptionsEnd:{},
startDate: '',
endDate: '',
};
},
methods:{
changeStart (){
this.pickerOptionsStart = Object.assign({},this.pickerOptionsStart,{
disabledDate: (time) => {
return time.getTime() > this.endDate
}
})
},
changeEnd (){
this.pickerOptionsEnd = Object.assign({},this.pickerOptionsEnd,{
disabledDate: (time) => {
return time.getTime() < this.startDate
}
})
}
}
};
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
Style
@import url("http://unpkg.com/element-ui@2.3.8/lib/theme-chalk/index.css");
.block{
margin-top:10px;
}