溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

element-ui 時(shí)間選擇器限制范圍的實(shí)現(xiàn)

發(fā)布時(shí)間:2021-06-03 16:24:23 來(lái)源:億速云 閱讀:231 作者:Leah 欄目:web開(kāi)發(fā)

今天就跟大家聊聊有關(guān)element-ui 時(shí)間選擇器限制范圍的實(shí)現(xiàn),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

方法:

考慮到有兩種設(shè)計(jì)方式:

1、用兩個(gè)獨(dú)立時(shí)間選擇器控制,實(shí)現(xiàn)起來(lái)比較混亂。
2、用日期范圍選擇器。

第一種方式?jīng)]有做demo,有特殊需求的小伙伴請(qǐng)留言。這里選擇使用日期范圍選擇器,使用起來(lái)可以預(yù)見(jiàn)代碼會(huì)清爽很多。

效果圖:

element-ui 時(shí)間選擇器限制范圍的實(shí)現(xiàn)

代碼:

<el-date-picker
  v-model="datePick"
  type="daterange"
  value-format='yyyy-MM-dd'
  size="small"
  :picker-options="pickerOptions"
  range-separator="至"
  start-placeholder="開(kāi)始日期"
  end-placeholder="結(jié)束日期">
</el-date-picker>
data() {
 let _minTime = null
 let _maxTime = null
 return {
  datePick: [new Date().format("yyyy-MM-dd") ,new Date().format("yyyy-MM-dd")], //默認(rèn)選擇當(dāng)天,看個(gè)人需求
  pickerOptions:{
   onPick(time){
    // 如果選擇了只選擇了一個(gè)時(shí)間
    if (!time.maxDate) {
     let timeRange = 6*24*60*60*1000 // 6天
     _minTime = time.minDate.getTime() - timeRange // 最小時(shí)間
     _maxTime = time.minDate.getTime() + timeRange // 最大時(shí)間
    // 如果選了兩個(gè)時(shí)間,那就清空本次范圍判斷數(shù)據(jù),以備重選
    } else {
     _minTime = _maxTime = null
    }
   },
   disabledDate(time) {
    // onPick后觸發(fā)
    // 該方法會(huì)輪詢(xún)當(dāng)3個(gè)月內(nèi)的每一個(gè)日期,返回false表示該日期禁選
    if(_minTime && _maxTime){
     return time.getTime() < _minTime || time.getTime() > _maxTime
    }
   }
  }
 }
}

看完上述內(nèi)容,你們對(duì)element-ui 時(shí)間選擇器限制范圍的實(shí)現(xiàn)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI