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

基于Vue實(shí)現(xiàn)支持按周切換的日歷

 更新時間:2020年09月24日 09:24:22   作者:嘉爺  
這篇文章主要為大家詳細(xì)介紹了基于Vue實(shí)現(xiàn)支持按周切換的日歷,根據(jù)實(shí)際開發(fā)情況按每年、每月、每周進(jìn)行切換,具有一定的參考價值,感興趣的小伙伴們可以參考一下

基于Vue的日歷小功能,可根據(jù)實(shí)際開發(fā)情況按每年、每月、每周、進(jìn)行切換,具體內(nèi)容如下

<template>
 <div class="date">
  <!-- 年份 月份 -->
  <div class="month">
  <p>{{ currentYear }}年{{ currentMonth }}月</p>
  </div>
  <!-- 星期 -->
  <ul class="weekdays">
  <li>一</li>
  <li>二</li>
  <li>三</li>
  <li>四</li>
  <li>五</li>
  <li>六</li>
  <li>日</li>
  </ul>
  <!-- 日期 -->
  <ul class="days">
  <li @click="pick(day)" v-for="(day, index) in days" :key="index">
   <!--本月-->
   <span v-if="day.getMonth()+1 != currentMonth" class="other-month">{{ day.getDate() }}</span>
   <span v-else>
   <!--今天-->
   <span v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()" class="active">{{ day.getDate() }}</span>
   <span v-else>{{ day.getDate() }}</span>
   </span>
  </li>
  </ul>
 </div>
</template>

js部分:目前默認(rèn)顯示一周,可根據(jù)實(shí)際情況更改

<script>


 export default {
 name: 'date',

 data () {
  return {
  currentYear: 1970, // 年份
  currentMonth: 1, // 月份
  currentDay: 1, // 日期
  currentWeek: 1, // 星期
  days: [],
  }
 },

 mounted () {

 },

 created () {
  this.initData(null)
 },

 methods: {
  formatDate (year, month, day) {
  const y = year
  let m = month
  if (m < 10) m = `0${m}`
  let d = day
  if (d < 10) d = `0$wppm3vysvbp`
  return `${y}-${m}-$wppm3vysvbp`
  },

  initData (cur) {
  let date = ''
  if (cur) {
   date = new Date(cur)
  } else {
   date = new Date()
  }
  this.currentDay = date.getDate()   // 今日日期 幾號
  this.currentYear = date.getFullYear()  // 當(dāng)前年份
  this.currentMonth = date.getMonth() + 1 // 當(dāng)前月份
  this.currentWeek = date.getDay() // 1...6,0 // 星期幾
  if (this.currentWeek === 0) {
   this.currentWeek = 7
  }
  const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay)// 今日日期 年-月-日
  this.days.length = 0
  // 今天是周日,放在第一行第7個位置,前面6個 這里默認(rèn)顯示一周,如果需要顯示一個月,則第二個循環(huán)為 i<= 35- this.currentWeek
  /* eslint-disabled */
  for (let i = this.currentWeek - 1; i >= 0; i -= 1) {
   const d = new Date(str)
   d.setDate(d.getDate() - i)
   // console.log(y:" + d.getDate())
   this.days.push(d)
  }
  for (let i = 1; i <= 7 - this.currentWeek; i += 1) {
   const d = new Date(str)
   d.setDate(d.getDate() + i)
   this.days.push(d)
  }
  },

  // 上個星期
  weekPre () {
  const d = this.days[0] // 如果當(dāng)期日期是7號或者小于7號
  d.setDate(d.getDate() - 7)
  this.initData(d)
  },

  // 下個星期
  weekNext () {
  const d = this.days[6] // 如果當(dāng)期日期是7號或者小于7號
  d.setDate(d.getDate() + 7)
  this.initData(d)
  },

  // 上一個月 傳入當(dāng)前年份和月份
  pickPre (year, month) {
  const d = new Date(this.formatDate(year, month, 1))
  d.setDate(0)
  this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
  },


  // 下一個月 傳入當(dāng)前年份和月份
  pickNext (year, month) {
  const d = new Date(this.formatDate(year, month, 1))
  d.setDate(35)
  this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
  },

  // 當(dāng)前選擇日期
  pick (date) {
  alert(this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate()))
  },
 },
 }
</script>
<style lang="scss">
 @import "~base";

 .date {
 height: px2rem(180);
 color: #333;

 .month {
  font-size: px2rem(24);
  text-align: center;
  margin-top: px2rem(20);
 }

 .weekdays {
  display: flex;
  font-size: px2rem(28);
  margin-top: px2rem(20);

  li {
  flex: 1;
  text-align: center;
  }
 }

 .days {
  display: flex;

  li {
  flex: 1;
  font-size: px2rem(30);
  text-align: center;
  margin-top: px2rem(10);
  line-height: px2rem(60);

  .active {
   display: inline-block;
   width: px2rem(60);
   height: px2rem(60);
   color: #fff;
   border-radius: 50%;
   background-color: #fa6854;
  }

  .other-month {
   color: #e4393c;
  }
  }
 }
 }
</style>

相關(guān)參考鏈接:Vue.js創(chuàng)建Calendar日歷效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Element中el-date-picker組件不回填的情況

    解決Element中el-date-picker組件不回填的情況

    這篇文章主要介紹了解決Element中el-date-picker組件不回填的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue多個元素的樣式選擇器問題

    vue多個元素的樣式選擇器問題

    這篇文章主要介紹了vue多個元素的樣式選擇器問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • 簡單聊一聊axios配置請求頭content-type

    簡單聊一聊axios配置請求頭content-type

    最近在工作中碰到一個問題,后端提供的get請求的接口需要在request header設(shè)置,下面這篇文章主要給大家介紹了關(guān)于axios配置請求頭content-type的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • nuxt.js 緩存實(shí)踐

    nuxt.js 緩存實(shí)踐

    這篇文章主要介紹了nuxt.js 緩存實(shí)踐,nuxt 的緩存可以分為 組件級別緩存 , API級別緩存 以及 頁面級別緩存,本文就詳細(xì)的介紹了這三種緩存,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Vue?router?路由安裝及使用過程

    Vue?router?路由安裝及使用過程

    vue-router 是 Vue 的一個插件庫,適用于構(gòu)建單頁面應(yīng)用,這篇文章主要介紹了Vue?router?路由安裝以及使用,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • vue3.x項(xiàng)目中,出現(xiàn)紅色波浪線問題及解決

    vue3.x項(xiàng)目中,出現(xiàn)紅色波浪線問題及解決

    這篇文章主要介紹了vue3.x項(xiàng)目中,出現(xiàn)紅色波浪線問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue PostCSS的使用介紹

    Vue PostCSS的使用介紹

    postcss一種對css編譯的工具,類似babel對js的處理,postcss只是一個工具,本身不會對css一頓操作,它通過插件實(shí)現(xiàn)功能,autoprefixer就是其一
    2023-02-02
  • vue2自定義組件通過rollup配置發(fā)布到npm的詳細(xì)步驟

    vue2自定義組件通過rollup配置發(fā)布到npm的詳細(xì)步驟

    這篇文章主要介紹了vue2自定義組件通過rollup配置發(fā)布到npm,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Vue數(shù)據(jù)雙向綁定的深入探究

    Vue數(shù)據(jù)雙向綁定的深入探究

    這篇文章主要給大家介紹了關(guān)于Vue數(shù)據(jù)雙向綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Vue如何清空對象

    Vue如何清空對象

    這篇文章主要介紹了Vue如何清空對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論

百色市| 定西市| 屏东市| 巢湖市| 龙泉市| 石渠县| 汉川市| 鹿泉市| 永胜县| 乌鲁木齐市| 宣恩县| 澎湖县| 温宿县| 桦南县| 射阳县| 原平市| 曲麻莱县| 凌云县| 平顶山市| 广宗县| 延川县| 古蔺县| 珠海市| 扎囊县| 望谟县| 凯里市| 鹤峰县| 秀山| 吉安市| 南汇区| 苗栗市| 花莲市| 菏泽市| 铜陵市| 兴和县| 嵩明县| 澄迈县| 曲阜市| 东海县| 梁平县| 北票市|