赞
踩
项目中很多场景都用到时间范围选择的组件:
这时候我们过多选择的是elment ui里面的el-date-picker组件,但是又嫌弃人家原始的这个丑陋
所以选择自己组装,有没有小伙伴像我这样写的呢:
- //页面组件
- <el-col :span="6">
- <el-date-picker
- v-model="datePickerStart"
- :disabled-date="disabledDateStart"
- type="date"
- value-format="yyyy-MM-dd"
- placeholder="开始时间" />
- </el-col>
- <el-col :span="1">
- <div class="blockText">-</div>
- </el-col>
- <el-col :span="6">
- <el-date-picker
- v-model="datePickerEnd"
- :disabled-date="disabledDateEnd"
- type="date"
- value-format="yyyy-MM-dd"
- placeholder="结束时间" />
- </el-col>
-
-
- //日期禁用方法
- disabledDateStart(time) {
- const beginDateVal = this.datePickerEnd;
- if (beginDateVal) {
- return (
- time.valueOf() >=
- new Date(beginDateVal).valueOf() - 24 * 60 * 60 * 1000 + 1
- );
- }
- },
-
- disabledDateEnd(time) {
- const beginDateVal = this.datePickerStart;
- if (beginDateVal) {
- return (
- time.valueOf() <=
- new Date(beginDateVal).valueOf() - 24 * 60 * 60 * 1000 + 1
- );
- }
- },
-
发现始终不触发disabledDate,不会走进禁用的方法。寻思再三后,看官网介绍它并不是组件的Attributes。
哈哈最终原来是这么使用的:
- <el-date-picker
- v-model="datePickerStart"
- type="date"
- :picker-options="{ disabledDate: disabledDateStart }"
- value-format="yyyy-MM-dd"
- placeholder="开始时间"
- />
也可以这么使用
- <el-date-picker
- v-model="datePickerStart"
- type="date"
- :picker-options="pickerOptions"
- value-format="yyyy-MM-dd"
- placeholder="开始时间"
- />
-
- //在date里定义
- data() {
- return {
- pickeroptions: {
- disabledDate: time => {
- const beginDateVal = this.datePickerEnd;
- if (beginDateVal) {
- return (
- time.valueOf() >=
- new Date(beginDateVal).valueOf() - 24 * 60 * 60 * 1000 + 1
- );
- }
- }
- },
- datePickerStart: "",
- datePickerEnd: "",
- }
- }
个人推介第一个,符合我们日常的逻辑
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。