国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

element-UI月份選擇器(禁用未來(lái)月份+限制選擇12個(gè)月范圍)

這篇具有很好參考價(jià)值的文章主要介紹了element-UI月份選擇器(禁用未來(lái)月份+限制選擇12個(gè)月范圍)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

element-UI月份選擇器(禁用未來(lái)月份+限制選擇12個(gè)月范圍)

element-UI月份選擇器(禁用未來(lái)月份+限制選擇12個(gè)月范圍)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-507013.html

                        <div class="selectItem" v-show="monthShow">
                            <el-date-picker
                            v-model="trendData.date"
                            :clearable="false"
                            type="monthrange"
                            :default-value="trendData.date"
                            :picker-options="monthpickoption"
                            value-format="yyyy-MM"
                            range-separator="至"
                            @change="onChangeDate"
                            start-placeholder="開(kāi)始日期"
                            end-placeholder="結(jié)束日期">
                            </el-date-picker>
                        </div>
        return {
              trendData: {
                date: []
            },
          minDate: null,
          maxDate: null
        },

      monthpickoption:{
            disabledDate: (time) => {
              if (this.minDate !== null && this.maxDate === null) {
                  let minMonth = this.minDate.getMonth(),
                  lastYear = new Date(this.minDate).setMonth(minMonth - 11),
                  nextYear = new Date(this.minDate).setMonth(minMonth + 11);
                let minTime = this.minDate.getTime()
                let nextTime = new Date().setMonth(new Date().getMonth() + 11)
                let lastTime = new Date().setMonth(new Date().getMonth() - 11)
               if (minTime <= nextTime || minTime >= lastTime){
                  //開(kāi)始日期少于當(dāng)前月+12個(gè)月 并且大于當(dāng)前月-12個(gè)月,則表示只限制前面的范圍
                  return time.valueOf() > new Date().getTime() || time.valueOf() > nextYear.valueOf() || time.valueOf() < lastYear.valueOf()
                }
                else {
                  // 只能選 minDate 前后一年的范圍
                  return time.valueOf() < lastYear.valueOf() || time.valueOf() > nextYear.valueOf();
                }
              }else {
                let startMonth = this.trendData.date[0]
                let month = new Date(startMonth).getMonth()
                let lastMonth = new Date(startMonth).setMonth(month - 11)
                //如果有默認(rèn)值,只禁用開(kāi)始日期,因?yàn)橐呀?jīng)限定了禁用未來(lái)范圍,且默認(rèn)值已經(jīng)為12個(gè)月范圍
                return this.monthPick(time) || time < lastMonth.valueOf();
              }
            },
            onPick: ({minDate, maxDate}) => {
              this.minDate = minDate;
              this.maxDate = maxDate;
            }
            }
monthPick(time){
            // 獲取當(dāng)前的月份信息
            const date = new Date() // 獲取當(dāng)前的時(shí)間基本信息,值是這樣的: Tue Jul 20 2021 14:59:43 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
            const year = date.getFullYear() // 獲取當(dāng)前年份,值是這樣的: 2021
            let month = date.getMonth() + 1 // 獲取當(dāng)前月份,值是這樣的: 6   getMonth()方法返回值是0-11,也就是1月份到12月份,所以要加上1,才是當(dāng)前月份
            if (month >= 1 && month <= 9) {
              // 如果是1月到9月就要在前面補(bǔ)上一個(gè)0   比如:02、07    月份這樣表示
              month = '0' + month
            }
            const nowDate = year.toString() + month.toString() // 轉(zhuǎn)換成字符串拼接,最終得到年和月,比如此時(shí)的時(shí)間是2021年7月20號(hào),所以nowDate的值是:202107

            // 獲取時(shí)間選擇器的月份信息
            const timeyear = time.getFullYear() // 獲取時(shí)間選擇器的年份(有很多)
            let timemonth = time.getMonth() + 1 // 與上面同理
            if (timemonth >= 1 && timemonth <= 9) {
              timemonth = '0' + timemonth
            }
            const elTimeData = timeyear.toString() + timemonth.toString()

            // 返回,時(shí)間選擇器的日期月份大于當(dāng)前日期的月份,又因?yàn)閐isabledDate函數(shù)是控制月份禁用不可選
            // 所以,最終就是:時(shí)間選擇器的月份大于當(dāng)前的月份,就都禁用掉,所以就實(shí)現(xiàn)了最終效果:
            // 大于等于當(dāng)前月份都不可選
            return elTimeData > nowDate // 這里雖然是字符串,但是弱類(lèi)型語(yǔ)言js會(huì)做一個(gè)轉(zhuǎn)換,是可以比較大小的如: '202107' > '202008'
          }

到了這里,關(guān)于element-UI月份選擇器(禁用未來(lái)月份+限制選擇12個(gè)月范圍)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包