iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
1
自我挑戰組

Vue 與 Element UI 兩三事系列 第 22

Vue 與 Element UI 兩三事#22 element-ui 時間選擇器

  • 分享至 

  • xImage
  •  

正文:
element-ui 與大部分的樣式框架一樣,皆有提供時間選擇器,這邊就讓我們來看一下使用方式吧
固定區間的時間選擇器

<el-time-select v-model="time" :picker-options="{
    start: '00:00', step: '00:30', end: '23:00'
}" placeholder="選擇時間">
</el-time-select>

在 el-time-select 中,透過 picker-optionstart 設置起始時間,step 設置時間區隔,end 設置結束時間
這邊需要注意的是時間選擇器的間隔僅能支援到分鐘
我們也可以設定兩個時間選擇器,當一個時間選擇完後將此時間設為另一個時間的禁止時間,這邊可以選擇 minTime 在這時間前的皆無法使用,或是選擇 maxTime 在這時間後皆無法使用

<el-time-select v-model="beforeTime" :picker-options="{
    start: '00:00', step: '00:30', end: '23:00'
}" placeholder="選擇時間">
</el-time-select>
<el-time-select v-model="afterTime" :picker-options="{
    start: '00:00', step: '00:30', end: '23:00', minTime: 'beforeTime'
}" placeholder="選擇時間">
</el-time-select>

如果我們要使用具有小時、分鐘和秒鐘的時間選取器,則是使用el-time-picker

<el-time-picker v-model="time"></el-time-picker>

這邊 v-model 會接收一個時間格式,並且我們可以設定允許時間,除了允許時間外皆無法選擇

<el-time-picker
    v-model="time"
    :picker-options="{
      selectableRange: '18:30:00 - 20:30:00'
    }">
  </el-time-picker>

最後,我們可以在 el-time-picker 中添加 is-range 屬性,將時間選取器變成時間範圍選取器,range-separator 屬性可以設置時間範圍選取器中間區隔的字符,而start-placeholder 則是設置起始時間預設文字, end-placeholder 則是設置結束時間預設文字,這邊 v-model 內的型態為接受兩個時間格式的陣列

<el-time-picker
    is-range
    v-model="time"
    range-separator="至"
    start-placeholder="開始時間"
    end-placeholder="結束時間">
  </el-time-picker>

上一篇
Vue 與 Element UI 兩三事#21 element-ui input(2)
下一篇
Vue 與 Element UI 兩三事#23 日期選取器
系列文
Vue 與 Element UI 兩三事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
king742171
iT邦新手 2 級 ‧ 2022-09-06 16:53:20

請問el-time-select
如果我想禁用部分時間範圍。作得到嗎?
例如:餐期時段的預約
10:00~20:00 開放預約
但有些時段內會限制預約數之類的
10:00~11:00 預約額滿
13:00~15:00 預約額滿
像這樣在選擇視覺上
可以看到這兩個時段呈現禁用。不能選擇
這樣做得到嗎?

我要留言

立即登入留言