el-date-picker設置日期默認值兩種方法(當月月初至月末)
1.ElementUI日期樣式
<el-date-picker v-model="queryParams.signDate" type="daterange" align="right" unlink-panels size="small" value-format="yyyy-MM-dd" format="yyyy-MM-dd" range-separator="至" start-placeholder="開始日期" end-placeholder="結束日期" :picker-options="pickerOptions"> </el-date-picker>
2.定義數(shù)據(jù)以及方法
這里面的signDate可以賦值為空字符''或者賦值為空數(shù)組[],這里面包含兩個值,一個值為開始日期,另一個值為結束日期
<script> export default { data() { return { queryParams: { signDate: '' }, pickerOptions: { shortcuts: [{ text: '最近一周', onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) picker.$emit('pick', [start, end]) } }, { text: '最近一個月', onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) picker.$emit('pick', [start, end]) } }, { text: '最近三個月', onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) picker.$emit('pick', [start, end]) } }] } } }, created() { // 初始化默認時間 this.defaultDate() }, methods: { // 初始化默認時間 defaultDate() { var date = new Date() var year = date.getFullYear().toString() var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString() // var da = date.getDate() < 10 ? '0' + date.getDate().toString() : date.getDate().toString() var da = new Date(date.getFullYear(), month, 0).getDate() da < 10 ? '0' + da.toString() : da.toString() var beg = year + '-' + month + '-01' var end = year + '-' + month + '-' + da this.queryParams.signDate = [beg, end] //將值設置給插件綁定的數(shù)據(jù) } }, watch: { // 監(jiān)聽日期清理后數(shù)據(jù)為null進行處理否則會報錯 'queryParams.signDate'(newVal) { if (newVal == null) { this.queryParams.signDate = '' this.queryParams.startTime = '' this.queryParams.endTime = '' } } } } </script>
注意:日期選擇器清除完后這邊有坑,選擇完日期格式清除后重新加載,他會給綁定的signDate賦值為null,重新加載頁面會報錯,所以要設置上面的監(jiān)聽器,如果值為null時賦值為空字符串'',不然會報下面的錯,設置了監(jiān)聽器可以正常運行
第二種方式:將開始日期和結束日期分為兩個時間選擇器
<el-form-item prop="startTime" style="margin-left: 20px"> <el-date-picker v-model="queryParams.startTime" type="date" size="small" placeholder="開始日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd" style="width: 130px" :picker-options="pickerOptionsStart" > </el-date-picker> </el-form-item> <el-form-item label="至" prop="endTime"> <el-date-picker v-model="queryParams.endTime" type="date" size="small" placeholder="結束日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd" style="width: 130px" :picker-options="pickerOptionsEnd" > </el-date-picker> </el-form-item>
定義綁定的參數(shù)及方法
<script> export default { data() { return { queryParams: { startTime: '', endTime: '', }, // 開始時間不能大于結束時間 pickerOptionsStart: { disabledDate: (time) => { if (this.queryParams.endTime) { return ( time.getTime() >= new Date(this.queryParams.endTime).getTime() ) } } }, // 結束時間不能小于開始時間 pickerOptionsEnd: { disabledDate: (time) => { if (this.queryParams.startTime) { return ( time.getTime() <= new Date(this.queryParams.startTime).getTime() ) } } } } }, created() { /** 重置按鈕操作 */ resetForm() { this.$refs['formName'].resetFields() this.queryParams.startTime = '' this.queryParams.endTime = '' }, // 初始化默認時間 defaultDate() { var date = new Date() var year = date.getFullYear().toString() var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString() // var da = date.getDate() < 10 ? '0' + date.getDate().toString() : date.getDate().toString() var da = new Date(date.getFullYear(), month, 0).getDate() da < 10 ? '0' + da.toString() : da.toString() var beg = year + '-' + month + '-01' var end = year + '-' + month + '-' + da this.queryParams.startTime = beg //將值設置給插件綁定的數(shù)據(jù) this.queryParams.endTime = end } }, watch: { // 監(jiān)聽日期清理后數(shù)據(jù)為null進行處理否則會報錯 'queryParams.startTime'(newVal) { if (newVal == null) { this.queryParams.startTime = '' } }, 'queryParams.endTime'(newVal) { if (newVal == null) { this.queryParams.endTime = '' } } } } </script>
總結
到此這篇關于el-date-picker設置日期默認值兩種方法(當月月初至月末)的文章就介紹到這了,更多相關el-date-picker設置日期默認值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
ElementPlus el-message-box樣式錯位問題及解決
這篇文章主要介紹了ElementPlus el-message-box樣式錯位問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼
這篇文章主要介紹了elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03