

Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint UI 。
需求场景如下:
实现方法不难,利用了 change 事件,动态改变 picker-options 中的 disableDate 即可。
查看Demo
Template
<script src="https://www.gxlcms.com//unpkg.com/vue/dist/vue.js"></script> <script src="https://www.gxlcms.com//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("//unpkg.com/element-ui@2.3.8/lib/theme-chalk/index.css");
.block{
margin-top:10px;
}
