欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ElementUI 詳細分析DatePicker 日期選擇器實戰(zhàn)

 更新時間:2024年08月28日 10:12:03   作者:碼農研究僧  
這篇文章主要介紹了ElementUI詳細分析DatePicker 日期選擇器實戰(zhàn)教程,本文通過實例代碼圖文介紹給大家講解的非常詳細,感興趣的朋友跟隨小編一起看看吧

前言

對于全棧玩家,各個組件都需相應了解才可做好前后端的CRUD

以下為實戰(zhàn)結合Element官網(wǎng)的心得體會

如圖所示:

1. 通用Demo

如果只想要一個選擇日期,而不是范圍,Demo如下:

<template>
  <div class="block">
    <span class="demonstration">默認</span>
    <el-date-picker
      v-model="value1"
      type="date"
      placeholder="選擇日期">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">帶快捷選項</span>
    <el-date-picker
      v-model="value2"
      align="right"
      type="date"
      placeholder="選擇日期"
      :picker-options="pickerOptions">
    </el-date-picker>
  </div>
</template>

截圖如下:

如果需要時間選擇,總體Demo如下:

<template>
  <!-- 包含快捷選項的日期選擇器 -->
  <div class="block">
    <!-- 演示快捷選項 -->
    <span class="demonstration">帶快捷選項</span>
    <!-- 日期選擇器組件 -->
    <el-date-picker
      v-model="value2"
      type="datetimerange"
      align="right"
      unlink-panels
      range-separator="至"
      start-placeholder="開始日期"
      end-placeholder="結束日期"
      :picker-options="pickerOptions">
    </el-date-picker>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        // 日期選擇器的選項
        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]);
              }
            }
          ]
        },
        // 綁定的值1
        value1: '',
        // 綁定的值2
        value2: ''
      };
    }
  };
</script>

具體的參數(shù)解釋如下:

  • unlink-panels解除左右面板的聯(lián)動(各自獨立切換當前月份),選擇日期范圍時,默認情況下左右面板會聯(lián)動
  • type為daterange,則顯示到日,若為datetimerange則顯示到秒

如果是按照默認月份,具體如下:

<template>
  <div class="block">
    <span class="demonstration">帶快捷選項</span>
    <el-date-picker
      v-model="value2"
      type="monthrange"
      align="right"
      unlink-panels
      range-separator="至"
      start-placeholder="開始月份"
      end-placeholder="結束月份"
      :picker-options="pickerOptions">
    </el-date-picker>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        pickerOptions: {
          shortcuts: [{
            text: '本月',
            onClick(picker) {
              picker.$emit('pick', [new Date(), new Date()]);
            }
          }, {
            text: '今年至今',
            onClick(picker) {
              const end = new Date();
              const start = new Date(new Date().getFullYear(), 0);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: '最近六個月',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setMonth(start.getMonth() - 6);
              picker.$emit('pick', [start, end]);
            }
          }]
        },
        value1: '',
        value2: ''
      };
    }
  };
</script>

截圖如下:

2. 快捷鍵

對于快捷鍵選項除了實現(xiàn)上述方案還可如下:

// 時間選擇
pickerOptions: {
  shortcuts: [{
    text: '上周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設置起始日期為本周的第一天
      start.setDate(end.getDate() - end.getDay() - 6);
      // 設置結束日期為本周的最后一天
      end.setDate(end.getDate() - end.getDay() );
      picker.$emit('pick', [start, end]);
    }
  }, {
    text: '這周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設置起始日期為本周的第一天
      start.setDate(end.getDate() - end.getDay() + 1);
      // 設置結束日期為本周的最后一天
      end.setDate(end.getDate() - end.getDay() + 7);
      picker.$emit('pick', [start, end]);
    }
  }, {
    text: '下周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設置起始日期為下周的第一天
      start.setDate(end.getDate() - end.getDay() + 8);
      // 設置結束日期為下周的最后一天
      end.setDate(end.getDate() - end.getDay() + 14);
      picker.$emit('pick', [start, end]);
    }
  }]
},

截圖如下:

pickerOptions: {
  disabledDate(time) {
    return time.getTime() > Date.now();
  },
  shortcuts: [{
    text: '今天',
    onClick(picker) {
      picker.$emit('pick', new Date());
    }
  }, {
    text: '昨天',
    onClick(picker) {
      const date = new Date();
      date.setTime(date.getTime() - 3600 * 1000 * 24);
      picker.$emit('pick', date);
    }
  }, {
    text: '一周前',
    onClick(picker) {
      const date = new Date();
      date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
      picker.$emit('pick', date);
    }
  }]
},

截圖如下:

3. 參數(shù)

更多的參數(shù)解釋如下:

格式含義備注例子
yyyy 年2017
M不補01
MM01
W僅周選擇器的 format 可用;不補01
WW僅周選擇器的 format 可用01
d不補02
dd02
H小時24小時制;不補03
HH小時24小時制03
h小時12小時制,須和 A 或 a 使用;不補03
hh小時12小時制,須和 A 或 a 使用03
m分鐘不補04
mm分鐘04
s不補05
ss05
AAM/PM僅 format 可用,大寫AM
aam/pm僅 format 可用,小寫am
timestampJS時間戳僅 value-format 可用;組件綁定值為number類型1483326245000
[MM]不需要格式化字符使用方括號標識不需要格式化的字符 (如 [A] [MM])MM

對于日期選擇的更多參數(shù)說明:

參數(shù)說明類型可選值默認值
value / v-model綁定值date(DatePicker) / array(DateRangePicker)
readonly完全只讀booleanfalse
disabled禁用booleanfalse
editable文本框可輸入booleantrue
clearable是否顯示清除按鈕booleantrue
size輸入框尺寸stringlarge, small, mini
placeholder非范圍選擇時的占位內容string
start-placeholder范圍選擇時開始日期的占位內容string
end-placeholder范圍選擇時結束日期的占位內容string
type顯示類型stringyear/month/date/dates/months/years week/datetime/datetimerange/ daterange/monthrangedate
format顯示在輸入框中的格式string見日期格式yyyy-MM-dd
align對齊方式stringleft, center, rightleft
popper-classDatePicker 下拉框的類名string
picker-options當前時間日期選擇器特有的選項參考下表object{}
range-separator選擇范圍時的分隔符string‘-’
default-value可選,選擇器打開時默認顯示的時間Date可被new Date()解析
default-time范圍選擇時選中日期所使用的當日內具體時刻string[]數(shù)組,長度為 2,每項值為字符串,形如12:00:00,第一項指定開始日期的時刻,第二項指定結束日期的時刻,不指定會使用時刻 00:00:00
value-format可選,綁定值的格式。不指定則綁定值為 Date 對象 string 見日期格式 —
unlink-panels在范圍選擇器里取消兩個日期面板之間的聯(lián)動 boolean — false
prefix-icon自定義頭部圖標的類名stringel-icon-date
clear-icon自定義清空圖標的類名stringel-icon-circle-close
validate-event輸入時是否觸發(fā)表單的校驗booleantrue
append-to-bodyDetePicker 自身是否插入至 body 元素上。booleantrue

到此這篇關于ElementUI 詳細分析DatePicker 日期選擇器的文章就介紹到這了,更多相關ElementUI DatePicker 日期選擇器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

  • 基于vue與element實現(xiàn)創(chuàng)建試卷相關功能(實例代碼)

    基于vue與element實現(xiàn)創(chuàng)建試卷相關功能(實例代碼)

    這篇文章主要介紹了基于vue與element實現(xiàn)創(chuàng)建試卷相關功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Vite打包項目后圖片丟失的簡單解決方法

    Vite打包項目后圖片丟失的簡單解決方法

    vue項目完成打包上線的時候很多人都會碰到靜態(tài)資源找不到的情況,下面這篇文章主要給大家介紹了關于Vite打包項目后圖片丟失的簡單解決方法,需要的朋友可以參考下
    2023-05-05
  • 利用vite創(chuàng)建vue3項目的全過程及一個小BUG詳解

    利用vite創(chuàng)建vue3項目的全過程及一個小BUG詳解

    Vite作為一個構建工具,提供了一種快速的方法來構建Vue應用,而Vue3?則是一個前端框架,提供了強大的功能來構建和管理前端項目,下面這篇文章主要給大家介紹了關于利用vite創(chuàng)建vue3項目的全過程及一個小BUG的相關資料,需要的朋友可以參考下
    2023-04-04
  • Vue實現(xiàn)路由懶加載的多種方式總結

    Vue實現(xiàn)路由懶加載的多種方式總結

    當構建的項目比較大的時候,懶加載可以分割代碼塊,提高頁面的初始加載效率解決白屏問題,下面是幾種常見vue路由懶加載的方法,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • 基于Vue實現(xiàn)消息提示功能

    基于Vue實現(xiàn)消息提示功能

    這篇文章主要為大家詳細介紹了如何基于Vue實現(xiàn)簡單的消息提示功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-10-10
  • Vue中構造數(shù)組數(shù)據(jù)之map和forEach方法實現(xiàn)

    Vue中構造數(shù)組數(shù)據(jù)之map和forEach方法實現(xiàn)

    數(shù)組操作是前端最重要的數(shù)據(jù)操作,構造數(shù)組數(shù)據(jù),又是數(shù)組操作中很常見的,本文將梳理下map和forEach方法在Vue項目中的使用,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • Vue中使用Tailwind CSS的具體方法

    Vue中使用Tailwind CSS的具體方法

    本文主要介紹了Vue中使用Tailwind CSS的具體方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • 淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定

    淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定

    這篇文章主要介紹了淺析Vue3中通過v-model實現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡化父子組件雙向綁定,需要的朋友可以參考下
    2022-12-12
  • Vue如何比較字符串變化并高亮變化的部分

    Vue如何比較字符串變化并高亮變化的部分

    這篇文章主要介紹了Vue如何比較字符串變化并高亮變化的部分問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 最新評論