日期元件校驗設定的時間選擇範圍

2021-10-11 14:43:11 字數 2158 閱讀 2555

日期元件限定選擇日期的範圍為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 ...