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

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

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

前言

對(duì)于全棧玩家,各個(gè)組件都需相應(yīng)了解才可做好前后端的CRUD

以下為實(shí)戰(zhàn)結(jié)合Element官網(wǎng)的心得體會(huì)

如圖所示:

1. 通用Demo

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

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

截圖如下:

如果需要時(shí)間選擇,總體Demo如下:

<template>
  <!-- 包含快捷選項(xiàng)的日期選擇器 -->
  <div class="block">
    <!-- 演示快捷選項(xiàng) -->
    <span class="demonstration">帶快捷選項(xiàng)</span>
    <!-- 日期選擇器組件 -->
    <el-date-picker
      v-model="value2"
      type="datetimerange"
      align="right"
      unlink-panels
      range-separator="至"
      start-placeholder="開(kāi)始日期"
      end-placeholder="結(jié)束日期"
      :picker-options="pickerOptions">
    </el-date-picker>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        // 日期選擇器的選項(xiàng)
        pickerOptions: {
          // 快捷選項(xiàng)
          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]);
              }
            },
            // 最近一個(gè)月
            {
              text: '最近一個(gè)月',
              onClick(picker) {
                const end = new Date();
                const start = new Date();
                start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
                picker.$emit('pick', [start, end]);
              }
            },
            // 最近三個(gè)月
            {
              text: '最近三個(gè)月',
              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)動(dòng)(各自獨(dú)立切換當(dāng)前月份),選擇日期范圍時(shí),默認(rèn)情況下左右面板會(huì)聯(lián)動(dòng)
  • type為daterange,則顯示到日,若為datetimerange則顯示到秒

如果是按照默認(rèn)月份,具體如下:

<template>
  <div class="block">
    <span class="demonstration">帶快捷選項(xiàng)</span>
    <el-date-picker
      v-model="value2"
      type="monthrange"
      align="right"
      unlink-panels
      range-separator="至"
      start-placeholder="開(kāi)始月份"
      end-placeholder="結(jié)束月份"
      :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: '最近六個(gè)月',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setMonth(start.getMonth() - 6);
              picker.$emit('pick', [start, end]);
            }
          }]
        },
        value1: '',
        value2: ''
      };
    }
  };
</script>

截圖如下:

2. 快捷鍵

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

// 時(shí)間選擇
pickerOptions: {
  shortcuts: [{
    text: '上周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設(shè)置起始日期為本周的第一天
      start.setDate(end.getDate() - end.getDay() - 6);
      // 設(shè)置結(jié)束日期為本周的最后一天
      end.setDate(end.getDate() - end.getDay() );
      picker.$emit('pick', [start, end]);
    }
  }, {
    text: '這周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設(shè)置起始日期為本周的第一天
      start.setDate(end.getDate() - end.getDay() + 1);
      // 設(shè)置結(jié)束日期為本周的最后一天
      end.setDate(end.getDate() - end.getDay() + 7);
      picker.$emit('pick', [start, end]);
    }
  }, {
    text: '下周',
    onClick(picker) {
      const end = new Date();
      const start = new Date();
      // 設(shè)置起始日期為下周的第一天
      start.setDate(end.getDate() - end.getDay() + 8);
      // 設(shè)置結(jié)束日期為下周的最后一天
      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不補(bǔ)01
MM01
W僅周選擇器的 format 可用;不補(bǔ)01
WW僅周選擇器的 format 可用01
d不補(bǔ)02
dd02
H小時(shí)24小時(shí)制;不補(bǔ)03
HH小時(shí)24小時(shí)制03
h小時(shí)12小時(shí)制,須和 A 或 a 使用;不補(bǔ)03
hh小時(shí)12小時(shí)制,須和 A 或 a 使用03
m分鐘不補(bǔ)04
mm分鐘04
s不補(bǔ)05
ss05
AAM/PM僅 format 可用,大寫(xiě)AM
aam/pm僅 format 可用,小寫(xiě)am
timestampJS時(shí)間戳僅 value-format 可用;組件綁定值為number類型1483326245000
[MM]不需要格式化字符使用方括號(hào)標(biāo)識(shí)不需要格式化的字符 (如 [A] [MM])MM

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

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

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

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

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

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

    Vite打包項(xiàng)目后圖片丟失的簡(jiǎn)單解決方法

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

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

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

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

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

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

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

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

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

    Vue中使用Tailwind CSS的具體方法

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

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

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

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

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