Vue3 elementUI如何修改el-date-picker默認(rèn)時(shí)間
elementUI修改el-date-picker默認(rèn)時(shí)間
HTML:
<el-date-picker ? ?v-model="dateValue" ? ?type="daterange" ? ?size="small" ? ?unlink-panels ? ?range-separator="至" ? ?start-placeholder="開始日期" ? ?end-placeholder="結(jié)束日期" ? ?:shortcuts="shortcuts"> </el-date-picker>
JS:
//放在頁(yè)面的state中 shortcuts: [ ? ? ? ? { ? ? ? ? ? text: "本周", ? ? ? ? ? value: () => { ? ? ? ? ? ? const end = new Date(); ? ? ? ? ? ? const start = new Date(); ? ? ? ? ? ? //周日算第一天,如果周日查詢本周的話,天數(shù)是0,所有如果是0,默認(rèn)設(shè)置為7,處理當(dāng)前周 ? ? ? ? ? ? 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ù):
? ? ? // 獲取本月時(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設(shè)置默認(rèn)時(shí)間區(qū)間
需求
需要一進(jìn)頁(yè)面時(shí),把日期選擇器,默認(rèn)展示為2012-01-01至當(dāng)前日期-1天
即圖:
代碼和注釋如下
2.1
<el-form-item label="時(shí)間周期:" prop="timeCycle" > <el-date-picker v-model="createForm.timeCycle" type="datetimerange" :picker-options="pickerOptions" //快捷時(shí)間選擇的函數(shù) range-separator="至" start-placeholder="開始日期" end-placeholder="結(jié)束日期" value-format="yyyy-MM-dd" //默認(rèn)值為這種格式 > </el-date-picker> </el-form-item>
2.2
由于開始時(shí)間是固定的,所以需要在定義數(shù)據(jù)時(shí)定義好,結(jié)束時(shí)間不能不填,也不能是" ",也不能是不符合時(shí)間格式的,否則整個(gè)時(shí)間選擇器都不會(huì)展示了
data(){ return { createForm: { timeCycle:["2012-01-01","2012-01-01"] } } }
2.3
在頁(yè)面一加載時(shí),在created函數(shù)里把結(jié)束時(shí)間算好,然后賦值到定義的timeCycle數(shù)組的第二項(xiàng)
created(){ const end = new Date();//獲取當(dāng)前的日期 end.setTime(end.getTime() - 3600 * 1000 * 24 ) //計(jì)算,將當(dāng)期日期-1天 //此時(shí)得到的是中國(guó)標(biāo)準(zhǔn)時(shí)間,格式不是yyyy-MM-dd,需要用dateFormat這個(gè)函數(shù)轉(zhuǎn)換下 this.createForm.timeCycle[1]=this.dateFormat(end) //將轉(zhuǎn)換完的正確格式的結(jié)束時(shí)間賦值到timeCycle數(shù)組的第二項(xiàng) }
2.4
時(shí)間格式的轉(zhuǎn)換函數(shù)
中國(guó)標(biāo)準(zhǔn)時(shí)間,即,例如:Wed Oct 24 2018 20:00:00 GMT+0800
轉(zhuǎn)換為: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 } }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue3+ElementPlus el-date-picker設(shè)置可選時(shí)間范圍的示例代碼
- elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的方法
- element組件el-date-picker禁用當(dāng)前時(shí)分秒之前的日期時(shí)間選擇
- 簡(jiǎn)單設(shè)置el-date-picker的默認(rèn)當(dāng)前時(shí)間問題
- element?ui時(shí)間日期選擇器el-date-picker報(bào)錯(cuò)Prop?being?mutated:"placement"解決方式
- vue el-date-picker動(dòng)態(tài)限制時(shí)間范圍案例詳解
- vue element-ui el-date-picker限制選擇時(shí)間為當(dāng)天之前的代碼
- el-date-picker時(shí)間清空值為null處理
相關(guān)文章
vue實(shí)現(xiàn)帶小數(shù)點(diǎn)的星星評(píng)分
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)帶小數(shù)點(diǎn)的星星評(píng)分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09vue 實(shí)現(xiàn)Web端的定位功能 獲取經(jīng)緯度
這篇文章主要介紹了vue 實(shí)現(xiàn)Web端的定位功能獲取經(jīng)緯度,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08如何正確解決VuePress本地訪問出現(xiàn)資源報(bào)錯(cuò)404的問題
這篇文章主要介紹了如何正確解決VuePress本地訪問出現(xiàn)資源報(bào)錯(cuò)404的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12vue實(shí)現(xiàn)動(dòng)態(tài)綁定行內(nèi)樣式style的backgroundImage
這篇文章主要介紹了vue實(shí)現(xiàn)動(dòng)態(tài)綁定行內(nèi)樣式style的backgroundImage方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07mpvue中配置vuex并持久化到本地Storage圖文教程解析
這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個(gè)坑,就是不能直接在new Vue的時(shí)候傳入store。本文分步驟給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03