Vue3 elementUI如何修改el-date-picker默認時間
elementUI修改el-date-picker默認時間
HTML:
<el-date-picker ? ?v-model="dateValue" ? ?type="daterange" ? ?size="small" ? ?unlink-panels ? ?range-separator="至" ? ?start-placeholder="開始日期" ? ?end-placeholder="結束日期" ? ?:shortcuts="shortcuts"> </el-date-picker>
JS:
//放在頁面的state中
shortcuts: [
? ? ? ? {
? ? ? ? ? text: "本周",
? ? ? ? ? value: () => {
? ? ? ? ? ? const end = new Date();
? ? ? ? ? ? const start = new Date();
? ? ? ? ? ? //周日算第一天,如果周日查詢本周的話,天數(shù)是0,所有如果是0,默認設置為7,處理當前周
? ? ? ? ? ? const nows = start.getDay() || 7;?
? ? ? ? ? ? start.setTime(start.getTime() - 3600 * 1000 * 24 * (nows - 1));
? ? ? ? ? ? end.setTime(end.getTime() - 3600 * 1000 * 24 * (nows - 7));
? ? ? ? ? ? console.log(start, end, "end");
? ? ? ? ? ? return [start, end];
? ? ? ? ? },
? ? ? ? },
? ? ? ? {
? ? ? ? ? text: "本月",
? ? ? ? ? value: () => methods.getTime(),
? ? ? ? },
? ? ? ? {
? ? ? ? ? text: "上月",
? ? ? ? ? value: () => {
? ? ? ? ? ? const oDate = new Date();
? ? ? ? ? ? let year = oDate.getFullYear();
? ? ? ? ? ? let month = oDate.getMonth();
? ? ? ? ? ? let start, end;
? ? ? ? ? ? if (month == 0) {
? ? ? ? ? ? ? year--;
? ? ? ? ? ? ? start = new Date(year, 11, 1);
? ? ? ? ? ? ? end = new Date(year, 11, 31);
? ? ? ? ? ? } else {
? ? ? ? ? ? ? start = new Date(year, month - 1, 1);
? ? ? ? ? ? ? end = new Date(year, month, 0);
? ? ? ? ? ? }
? ? ? ? ? ? return [start, end];
? ? ? ? ? },
? ? ? ? },
? ? ? ],處理本月的函數(shù):
? ? ? // 獲取本月時間段datePicker使用
? ? ? getTime() {
? ? ? ? const oDate = new Date();
? ? ? ? let year = oDate.getFullYear();
? ? ? ? let month = 0//oDate.getMonth();
? ? ? ? let start, end;
? ? ? ? if (month == 0) {
? ? ? ? ? year--;
? ? ? ? ? start = new Date(year, 0, 1);
? ? ? ? ? end = new Date(year, 12, 31);
? ? ? ? } else {
? ? ? ? ? start = new Date(year, month, 1);
? ? ? ? ? end = new Date(year, month + 1, 0);
? ? ? ? }
? ? ? ? state.dateValue = [start, end];
? ? ? ? return [start, end];
? ? ? },el-date-picker設置默認時間區(qū)間
需求
需要一進頁面時,把日期選擇器,默認展示為2012-01-01至當前日期-1天
即圖:

代碼和注釋如下
2.1
<el-form-item label="時間周期:" prop="timeCycle" >
<el-date-picker
v-model="createForm.timeCycle"
type="datetimerange"
:picker-options="pickerOptions" //快捷時間選擇的函數(shù)
range-separator="至"
start-placeholder="開始日期"
end-placeholder="結束日期"
value-format="yyyy-MM-dd" //默認值為這種格式
>
</el-date-picker>
</el-form-item>
2.2
由于開始時間是固定的,所以需要在定義數(shù)據時定義好,結束時間不能不填,也不能是" ",也不能是不符合時間格式的,否則整個時間選擇器都不會展示了
data(){
return {
createForm: {
timeCycle:["2012-01-01","2012-01-01"]
}
}
}
2.3
在頁面一加載時,在created函數(shù)里把結束時間算好,然后賦值到定義的timeCycle數(shù)組的第二項
created(){
const end = new Date();//獲取當前的日期
end.setTime(end.getTime() - 3600 * 1000 * 24 )
//計算,將當期日期-1天
//此時得到的是中國標準時間,格式不是yyyy-MM-dd,需要用dateFormat這個函數(shù)轉換下
this.createForm.timeCycle[1]=this.dateFormat(end)
//將轉換完的正確格式的結束時間賦值到timeCycle數(shù)組的第二項
}
2.4
時間格式的轉換函數(shù)
中國標準時間,即,例如:Wed Oct 24 2018 20:00:00 GMT+0800
轉換為:yyyy-MM-dd格式,即:2018-10-24
methods:{
dateFormat(dateData) {
var date = new Date(dateData)
var y = date.getFullYear()
var m = date.getMonth() + 1
m = m < 10 ? ('0' + m) : m
var d = date.getDate()
d = d < 10 ? ('0' + d) : d
const time = y + '-' + m + '-' + d
return time
}
}
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Vue3+ElementPlus el-date-picker設置可選時間范圍的示例代碼
- elementUI組件中el-date-picker限制時間范圍精確到小時的方法
- element組件el-date-picker禁用當前時分秒之前的日期時間選擇
- 簡單設置el-date-picker的默認當前時間問題
- element?ui時間日期選擇器el-date-picker報錯Prop?being?mutated:"placement"解決方式
- vue el-date-picker動態(tài)限制時間范圍案例詳解
- vue element-ui el-date-picker限制選擇時間為當天之前的代碼
- el-date-picker時間清空值為null處理
相關文章
如何正確解決VuePress本地訪問出現(xiàn)資源報錯404的問題
這篇文章主要介紹了如何正確解決VuePress本地訪問出現(xiàn)資源報錯404的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
vue實現(xiàn)動態(tài)綁定行內樣式style的backgroundImage
這篇文章主要介紹了vue實現(xiàn)動態(tài)綁定行內樣式style的backgroundImage方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
mpvue中配置vuex并持久化到本地Storage圖文教程解析
這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個坑,就是不能直接在new Vue的時候傳入store。本文分步驟給大家介紹的非常詳細,需要的朋友參考下吧2018-03-03

