日期元件限定選擇日期的範圍為1個月,就拿element的datepicker 日期選擇器來舉例;
場景是怕後台拉取資料太多影響sql速度,從而限定了日期選擇的範圍必須是1個月
datepicker中繫結change方法
v-model=
"timearr"
@change=
'changedate'
type=
"datetimerange"
range-separator=
"至" start-placeholder=
"開始日期"
:default
-time=
"['00:00:00', '23:59:59']"
end-placeholder=
"結束日期"
>
<
/el-date-picker>
日期切換觸發的change方法changedate
(e)if
(index ==1)
})const startyear=
this
.startdate.
substring(0
,4)/
1;const endyear=
this
.enddate.
substring(0
,4)/
1;const startmouth=
this
.startdate.
substring(5
,7)/
1;const endmouth=
this
.enddate.
substring(5
,7)/
1;const startday=
this
.startdate.
substring(8
,10)/
1;const endday=
this
.enddate.
substring(8
,10)/
1;//限定查詢時間為1個月的條件
const one=
(endyear==startyear)
&&endmouth-startmouth>1;
const two=
(endyear==startyear)
&&endmouth-startmouth==
1&&endday>startday;
const three=
(endyear-startyear==1)
&&(endmouth-startmouth>-11
)const four=
(endyear-startyear==1)
&&(endmouth-startmouth==-11
)&&endday>startday;
const five=endyear-startyear>1if
(one||two||three||four||five)}}
,
日期切換時觸發changedate方法,此時用到了setalltime這個方法,這個方法是將日期格式成:yy-mm-dd這種格式,例如2020-12-12這樣個格式,然後根據上面的情況判斷選擇的範圍是否超過乙個月,如果超過了就提醒,然後把選繫結的時間數值清空。setalltime
(val)
else
},
1.年份一樣的情況+ 年份一樣且月份相差大於等於2個月,
+ 年份一樣月份相差等於1個月,且結束的天數小於開始的天數
2.年份相差一年的情況,主要是跨年,即12月和1月的情況+ 年份相差為1,且月份相差小於-11的時候。即跨月了
+ 年份相差為1,且月份相差等於-11的時候,即使12月份和1月份的情況,必須再加乙個條,結束的天數小於開始的天數。
3.最後就是年份跨度大於1的時候
以上就是我考慮的時間,後端要求的資料時間限制並沒有那麼精確,只是大約31天這樣子,如果需要精確的時間,比如45天等情況,那就需要動態設定禁用的時間了。
element日期選擇器設定時間範圍,精確到秒
用picker options繫結篩選規則 label vpn到期時間 label width formlabelwidth prop endtime v model vpn.endtime type datetime value format timestamp picker options se...
ElementUI 日期選擇器時間選擇範圍限制
elementui是餓了麼推出的一套基於vue2.x的乙個ui框架。官方文件也很詳細,這裡做乙個element ui日期外掛程式的補充。官方文件中使用picker options屬性來限制可選擇的日期,這裡舉例子稍做補充。block demonstration 設定預設時間 v model rele...
ElementUI日期選擇器時間選擇範圍限制
elementui是餓了麼推出的一套基於vue2.x的乙個ui框架。官方文件也很詳細,這裡做乙個element ui日期外掛程式的補充,官方文件中使用picker options屬性來限制可選擇的日期,這裡舉例子稍做補充。一 單個輸入框的 元件 picker v model value1 type ...