这篇文章主要介绍“ElementUI时间选择器限制选择范围disabledData怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ElementUI时间选择器限制选择范围disabledData怎么使用”文章能帮助大家解决问题。
关于结束时间不能大于开始时间的问题,在elementui里我们用官方提供的 disabledDate 选项来解决。
HTML:给选择器加上:picker-options属性
//开始时间 <el-date-picker v-model="startDate"></el-date-picker> //截止时间 <el-date-picker v-model="endDate" :picker-options="endDateOpt"></el-date-picker>
DATA:
我这里就简略写下关键的。
data() { return { startDate: null, endDate: null, endDateOpt: { disabledData: (time) => { return time.getTime() < this.startDate; } } } }
以上是单个选择框的,如果是daterange或datetimerange的话:
<el-date-picker v-model="value1" type="daterange" :picker-options="pickerOptions"> </el-date-picker>
data() { return { value: '', pickerOptions2: { disabledDate: (time) => { return time.getTime() > new Date(2017, 11, 30) || time.getTime() < new Date(2017, 11, 11);//注意是||不是&& } } }; }
<el-date-picker v-model="listQuery.allDate" type="daterange" range-separator="-" unlink-panels value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" class="data_piccker" :picker-options="pickerOptions" ></el-date-picker>
pickerOptions: { onPick: ({ maxDate, minDate }) => { this.pickerMinDate = minDate.getTime() if (maxDate) { this.pickerMinDate = '' } }, disabledDate: (time) => { const year = 365 * 24 * 3600 * 1000 //一年前的时间戳 let lastyear = this.pickerMinDate - year //已经选择一个日期则…… if (this.pickerMinDate !== '') { const day31 = 31 * 24 * 3600 * 1000 //选中的日期前推31天,的时间戳 let datarangeb = this.pickerMinDate - day31 //选中的日期后推31天 let datarangea = this.pickerMinDate + day31 //如果后推的日期早于今天,则设置为今日 if (datarangea > new Date()) { datarangea = new Date() } //使用或||可以同时限制多个条件 return time.getTime() < datarangeb || time.getTime() > datarangea } //未选择日期,默认状态当天之前不可选,一年之前不可取 return time.getTime() > Date.now() || time.getTime() < lastyear }, },
关于“ElementUI时间选择器限制选择范围disabledData怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。