最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

el-date-picker日期時間選擇器的選擇時間限制到分鐘級別

 更新時間:2025年01月13日 10:11:05   作者:前端程序員_花姐夫Jun  
文章介紹了如何使用el-date-picker 組件來限制用戶選擇的時間,禁止選擇當(dāng)前時間的日期及時分,同時允許選擇其他日期的全天時分,通過設(shè)置 `pickerOptions` 對象的屬性,可以實現(xiàn)對日期和時間的精確控制,感興趣的朋友跟隨小編一起看看吧

有個需求是限制選擇的時間,禁止選擇當(dāng)前時間的日期及時分,如果日期選擇的不是今天,時間還是要能選擇全天的時分

一、代碼展示

<template>
  <el-date-picker
    v-model="date"
    type="datetime"
    format="YYYY-MM-DD HH:mm"
    time-format="HH:mm"
    v-bind="pickerOptions"
    placeholder="選擇日期時間">
  </el-date-picker>
</template>
<script lang="ts" setup>
import { ref, computed } from 'vue'
const date = ref('')
/**
 * 生成一個數(shù)組
 * @param start
 * @param end
 */
const makeRange = (start: number, end: number) => {
  const result: number[] = []
  for (let i = start; i <= end; i++) {
    result.push(i)
  }
  return result
}
/**
 * 限制今天之前的時間不能選擇(小時)
 */
const disabledHours = () => {
  let newVal = new Date(date.value)
  if (newVal && newVal.getFullYear() == new Date().getFullYear() &&
    newVal.getMonth() == new Date().getMonth() &&
    newVal.getDate() == new Date().getDate()
  ) {
    //如果為今天,則限制當(dāng)前時間前的時間不能選擇。
    return makeRange(0, new Date().getHours() - 1)
  }
}
/**
 * 限制今天之前的時間不能選擇(分鐘)
 * @param hour
 */
const disabledMinutes = (hour: number) => {
  let newVal = new Date(date.value)
  if (newVal && newVal.getFullYear() == new Date().getYear() &&
    newVal.getMonth() == new Date().getMonth() &&
    newVal.getDate() == new Date().getDate()
  ) {
    //如果為今天,則限制當(dāng)前時間前的時間不能選擇。
    return makeRange(0, new Date().getMinutes() - 1)
  }
}
/**
 * 限制今天之前的時間不能選擇的配置
 */
const pickerOptions = computed(() => {
  return {
    // 限制今天之前的日期不能選擇
    disabledDate(time: any) {
      return time.getTime() < Date.now() - 8.64e7
    },
    // 限制今天之前的小時不能選擇
    disabledHours,
    // 限制今天之前的分鐘不能選擇
    disabledMinutes
  }
})
</script>

二、代碼解釋 模板部分 (<template>)

- 使用 el-date-picker 組件:

- v-model="date": 將用戶選擇的日期和時間綁定到 date 變量。

- type="datetime": 表明此日期選擇器可以同時選擇日期和時間。

- format="YYYY-MM-DD HH:mm": 定義日期和時間的顯示格式。

- time-format="HH:mm": 單獨定義時間部分的顯示格式。

- v-bind="pickerOptions": 將 pickerOptions 對象的屬性綁定到 el-date-picker 組件上,以實現(xiàn)對日期和時間選擇的限制。

腳本部分 (<script>)

1. 導(dǎo)入和響應(yīng)式數(shù)據(jù)聲明

- import { ref, computed } from 'vue': 從 Vue 3 的 vue 包中導(dǎo)入 refcomputed 函數(shù)。

- const date = ref(''): 創(chuàng)建一個響應(yīng)式的 date 變量,用于存儲用戶選擇的日期和時間。初始值為空字符串。

2. makeRange 函數(shù)

const makeRange = (start: number, end: number) => {
  const result: number[] = [];
  for (let i = start; i <= end; i++) {
    result.push(i);
  }
  return result;
}
  • 此函數(shù)接收兩個數(shù)字參數(shù) startend。
  • 創(chuàng)建一個空數(shù)組 result。
  • 通過 for 循環(huán)將從 startend 的數(shù)字添加到 result 數(shù)組中。

3. disabledHours 函數(shù)

const disabledHours = () => {
  let newVal = new Date(date.value);
  if (newVal && newVal.getFullYear() == new Date().getFullYear() &&
    newVal.getMonth() == new Date().getMonth() &&
    newVal.getDate() == new Date().getDate()
  ) {
    return makeRange(0, new Date().getHours() - 1);
  }
}
  • 創(chuàng)建一個 newVal 對象,通過 date.value 來初始化。
  • 檢查 newVal 是否為今天的日期。
  • 如果是今天,使用 makeRange 函數(shù)生成一個數(shù)組,包含從 0 到當(dāng)前小時減 1 的小時數(shù),表示這些小時不可選。

4.disabledMinutes 函數(shù)

const disabledMinutes = (hour: number) => {
  let newVal = new Date(date.value);
  if (newVal && newVal.getFullYear() == new Date().getYear() &&
    newVal.getMonth() == new Date().getMonth() &&
    newVal.getDate() == new Date().getDate()
  ) {
    return makeRange(0, new Date().getMinutes() - 1);
  }
}
  • disabledHours 函數(shù)類似,但是它接收一個 hour 參數(shù)(此處似乎未使用)。
  • 檢查是否為今天,如果是,則使用 makeRange 函數(shù)生成一個數(shù)組,包含從 0 到當(dāng)前分鐘減 1 的分鐘數(shù),表示這些分鐘不可選。

5. pickerOptions 計算屬性

const pickerOptions = computed(() => {
  return {
    // 限制今天之前的日期不能選擇
    disabledDate(time: any) {
      return time.getTime() < Date.now() - 8.64e7;
    },
    // 限制今天之前的小時不能選擇
    disabledHours,
    // 限制今天之前的分鐘不能選擇
    disabledMinutes
  };
});
  • computed(() => {...}): 這是一個計算屬性,返回一個對象,包含對日期選擇器的配置選項。
  • disabledDate(time: any) {...}: 接收一個 time 對象,將其轉(zhuǎn)換為時間戳,如果小于當(dāng)前時間戳減去一天的毫秒數(shù)(8.64e7 毫秒是一天),則該日期不可選。
  • disabledHours: 引用 disabledHours 函數(shù),用于限制某些小時不可選。
  • disabledMinutes: 引用 disabledMinutes 函數(shù),用于限制某些分鐘不可選。

三、效果展示

到此這篇關(guān)于el-date-picker日期時間選擇器的選擇時間限制到分鐘級別的文章就介紹到這了,更多相關(guān)el-date-picker選擇時間到分內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue窗口變化onresize詳解

    vue窗口變化onresize詳解

    這篇文章主要介紹了vue窗口變化onresize,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue實現(xiàn)大轉(zhuǎn)盤抽獎功能

    vue實現(xiàn)大轉(zhuǎn)盤抽獎功能

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)大轉(zhuǎn)盤抽獎功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue中$attrs和$listeners詳解以及使用方法

    Vue中$attrs和$listeners詳解以及使用方法

    最近在研究Vue的組件庫,之前也用過$attrs和$listeners,官方文檔描述的不太詳細(xì),也沒有太好的例子,下面這篇文章主要給大家介紹了關(guān)于Vue中$attrs和$listeners詳解以及使用的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • vue兩次賦值頁面獲取不到的解決

    vue兩次賦值頁面獲取不到的解決

    這篇文章主要介紹了vue兩次賦值頁面獲取不到的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    本文介紹了如何在Vue項目中使用postcss-pxtorem插件實現(xiàn)響應(yīng)式設(shè)計,postcss-pxtorem可以自動將CSS文件中的px單位轉(zhuǎn)換為rem單位,從而實現(xiàn)更好的自適應(yīng)布局,通過配置postcss-pxtorem插件,可以在構(gòu)建時自動完成轉(zhuǎn)換,無需手動修改代碼
    2025-01-01
  • 淺談Vue 初始化性能優(yōu)化

    淺談Vue 初始化性能優(yōu)化

    本篇文章主要介紹了淺談Vue 初始化性能優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue3中使用ref語法糖的示例代碼

    vue3中使用ref語法糖的示例代碼

    Vue3提了一個Ref?Sugar的RFC,即ref語法糖,目前還處理實驗性的(Experimental)階段,今天通過本文給大家介紹vue3中使用ref語法糖的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • 在antd Form表單中select設(shè)置初始值操作

    在antd Form表單中select設(shè)置初始值操作

    這篇文章主要介紹了在antd Form表單中select設(shè)置初始值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Vue之計算屬性

    詳解Vue之計算屬性

    這篇文章主要介紹了Vue之計算屬性的相關(guān)知識,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Antd表格滾動 寬度自適應(yīng) 不換行的實例

    Antd表格滾動 寬度自適應(yīng) 不換行的實例

    這篇文章主要介紹了Antd表格滾動 寬度自適應(yīng) 不換行的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論

忻城县| 安阳市| 佛山市| 北川| 沅陵县| 诏安县| 岳阳市| 瑞金市| 荥经县| 康平县| 永新县| 灯塔市| 开鲁县| 肇东市| 郎溪县| 弋阳县| 永昌县| 大埔县| 昆山市| 明光市| 团风县| 元氏县| 民丰县| 岳阳市| 通道| 寻乌县| 安西县| 平南县| 遂平县| 马边| 石台县| 田林县| 任丘市| 鹤峰县| 开鲁县| 武陟县| 永寿县| 临安市| 临清市| 桐梓县| 通化市|