您的当前位置:首页element-ui 限制日期选择的方法(datepicker)

element-ui 限制日期选择的方法(datepicker)

2020-11-27 来源:六九路网

Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint UI 。

需求场景如下:

  1. 指定起止日期,后选的将会受到先选的限制
  2. 不同的日期选择器,不过也存在关联关系

实现方法不难,利用了 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;
}

显示全文