Vue3 elementUI如何修改el-date-picker默認(rèn)時間
elementUI修改el-date-picker默認(rèn)時間
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:
//放在頁面的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ù):
? ? ? // 獲取本月時間段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)時間區(qū)間
需求
需要一進(jìn)頁面時,把日期選擇器,默認(rèn)展示為2012-01-01至當(dāng)前日期-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="結(jié)束日期"
value-format="yyyy-MM-dd" //默認(rèn)值為這種格式
>
</el-date-picker>
</el-form-item>
2.2
由于開始時間是固定的,所以需要在定義數(shù)據(jù)時定義好,結(jié)束時間不能不填,也不能是" ",也不能是不符合時間格式的,否則整個時間選擇器都不會展示了
data(){
return {
createForm: {
timeCycle:["2012-01-01","2012-01-01"]
}
}
}
2.3
在頁面一加載時,在created函數(shù)里把結(jié)束時間算好,然后賦值到定義的timeCycle數(shù)組的第二項
created(){
const end = new Date();//獲取當(dāng)前的日期
end.setTime(end.getTime() - 3600 * 1000 * 24 )
//計算,將當(dāng)期日期-1天
//此時得到的是中國標(biāo)準(zhǔn)時間,格式不是yyyy-MM-dd,需要用dateFormat這個函數(shù)轉(zhuǎn)換下
this.createForm.timeCycle[1]=this.dateFormat(end)
//將轉(zhuǎn)換完的正確格式的結(jié)束時間賦值到timeCycle數(shù)組的第二項
}
2.4
時間格式的轉(zhuǎn)換函數(shù)
中國標(biāo)準(zhǔn)時間,即,例如: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
}
}
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- Vue3+ElementPlus el-date-picker設(shè)置可選時間范圍的示例代碼
- elementUI組件中el-date-picker限制時間范圍精確到小時的方法
- element組件el-date-picker禁用當(dāng)前時分秒之前的日期時間選擇
- 簡單設(shè)置el-date-picker的默認(rèn)當(dāng)前時間問題
- element?ui時間日期選擇器el-date-picker報錯Prop?being?mutated:"placement"解決方式
- vue el-date-picker動態(tài)限制時間范圍案例詳解
- vue element-ui el-date-picker限制選擇時間為當(dāng)天之前的代碼
- el-date-picker時間清空值為null處理方案
相關(guān)文章
Vue3使用Vuex之mapState與mapGetters詳解
這篇文章主要為大家介紹了Vue3使用Vuex之mapState與mapGetters詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
詳解基于Vue cli開發(fā)修改外部組件Vant默認(rèn)樣式
這篇文章主要介紹了詳解基于Vue cli開發(fā)修改外部組件Vant默認(rèn)樣式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
vue如何給element-ui中的el-tabs動態(tài)設(shè)置label屬性
這篇文章主要介紹了vue如何給element-ui中的el-tabs動態(tài)設(shè)置label屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

