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

ElementUI年份范圍選擇器功能實現(xiàn)

 更新時間:2023年02月10日 11:30:06   作者:Iswayzw  
elementUI中有日期范圍組件,月份范圍選擇的,就是沒有年份范圍選擇的,需要加一個類似風(fēng)格的,下面這篇文章主要給大家介紹了關(guān)于ElementUI年份范圍選擇器功能實現(xiàn)的相關(guān)資料,需要的朋友可以參考下

ElementUI 年份范圍選擇器

Element的日期選擇器組件沒有提供選擇年份范圍的功能。由于項目需要,決定用兩個年份選擇器封裝一個,貼下代碼供大家參考。

代碼實現(xiàn)了年份范圍選擇組件的基本功能,以及父子組件間的雙向通信。

實現(xiàn)效果

依賴

  • Vue2
  • ElementUI

組件代碼

<template>
  <div class="year-range-picker">
    <el-date-picker
      v-model="startYear"
      type="year"
      placeholder="選擇開始年"
      size="mini"
      class="year-picker"
      @change="changeStartYear"
      format="yyyy 年"
      value-format="yyyy"
    >
    </el-date-picker>
    <span class="range-word"> 至 </span>
    <el-date-picker
      v-model="endYear"
      type="year"
      placeholder="選擇結(jié)束年"
      size="mini"
      class="year-picker"
      @change="changeEndYear"
      format="yyyy 年"
      value-format="yyyy"
    >
    </el-date-picker>
  </div>
</template>


<script>
export default {
  name: "YearRangePicker",
  // 接收父組件傳入的數(shù)據(jù)
  props: {
    yearRange: {
      type: Array,
      required: true,
    },
  },
  data() {
    return {
      startYear: "",
      endYear: "",
    };
  },
  mounted() {
    // 初始化自身變量
    this.startYear = String(this.yearRange[0]);
    this.endYear = String(this.yearRange[1]);
  },
  methods: {
    changeStartYear(val) {
      // 開始年份大于結(jié)束年份,調(diào)換
      if (Number(this.startYear) > Number(this.endYear)) {
        this.startYear = this.endYear;
        this.endYear = val;
      }
      // 將改動傳回父組件
      this.$emit("yearChanged", [Number(this.startYear), Number(this.endYear)]);
    },
    changeEndYear(val) {
      if (Number(this.startYear) > Number(this.endYear)) {
        this.endYear = this.startYear;
        this.startYear = val;
      }
      this.$emit("yearChanged", [Number(this.startYear), Number(this.endYear)])
    },
  },
};
</script>


<style scoped>
.year-range-picker {
  color: black;
  text-align: center;
  font-size: 18px;
}

.range-word {
  margin-left: 10px;
  margin-right: 10px;
}

.year-range-picker .year-picker {
  max-width: 160px;
}
</style>

調(diào)用組件代碼

<template>
  <div class="test-body">
    <!-- :yearRange 為父組件向子組件傳參 -->
    <!-- :key 保證父組件的數(shù)據(jù)更新后,重新渲染子組件,使子組件也同步更新 -->
    <!-- @yearChanged 監(jiān)聽子組件向父組件傳參 -->
    <year-range
      :yearRange="yearRange"
      :key="`${yearRange[0]}_${yearRange[1]}`"
      @yearChanged="handleYearChanged"
    >
    </year-range>
  </div>
</template>

<script>
// 引入組件
import YearRangePicker from "@/components/YearRangePicker/index.vue";

export default {
  name: "Test",
  data() {
    return {
      yearRange: [2021, 2022],
    };
  },
  components: {
    // 自定義組件標(biāo)簽名稱
    "year-range": YearRangePicker,
  },
  methods: {
    handleYearChanged(val) {
      this.yearRange = val;
    },
  },
};
</script>


<style scoped>
.test-body {
  width: 100%;
  height: 400px;
  padding-top: 100px;
}
</style>

總結(jié)

本文實現(xiàn)的年份范圍選擇組件具有基本的年份范圍選擇功能。

  • 借助Vue的組件特性,能夠靈活應(yīng)用到頁面任何位置。
  • 基于組件通信,能夠優(yōu)雅的管理數(shù)據(jù)。

但是也存在不足,用戶調(diào)整一次年份范圍,需要分別點擊起始年份和結(jié)束年份,無法做到像官方的日期范圍選擇組件那樣,點擊一次,直接進(jìn)行區(qū)間調(diào)整。

到此這篇關(guān)于ElementUI年份范圍選擇器功能實現(xiàn)的文章就介紹到這了,更多相關(guān)ElementUI年份范圍選擇器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mpvue將vue項目轉(zhuǎn)換為小程序

    mpvue將vue項目轉(zhuǎn)換為小程序

    這篇文章主要介紹了mpvue將vue項目轉(zhuǎn)換為小程序的相關(guān)資料及mpvue開發(fā)流程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Vue axios庫避免重復(fù)發(fā)送請求的示例介紹

    Vue axios庫避免重復(fù)發(fā)送請求的示例介紹

    Axios是一個基于promise的HTTP庫,可以用在瀏覽器和node.js中。axios是目前最優(yōu)秀的HTTP請求庫之一,我們封裝axios請求也是為了讓代碼看的更加清晰,后期好維護
    2023-02-02
  • 基于VUE實現(xiàn)判斷設(shè)備是PC還是移動端

    基于VUE實現(xiàn)判斷設(shè)備是PC還是移動端

    這篇文章主要介紹了基于VUE實現(xiàn)判斷設(shè)備是PC還是移動端,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 詳解mpvue小程序中怎么引入iconfont字體圖標(biāo)

    詳解mpvue小程序中怎么引入iconfont字體圖標(biāo)

    這篇文章主要介紹了詳解mpvue小程序中怎么引入iconfont字體圖標(biāo),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • vue實現(xiàn)簡易音樂播放器

    vue實現(xiàn)簡易音樂播放器

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)簡易音樂播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • vue使用rem實現(xiàn) 移動端屏幕適配

    vue使用rem實現(xiàn) 移動端屏幕適配

    這篇文章主要介紹了vue使用rem實現(xiàn) 移動端屏幕適配的相關(guān)知識,通過實例代碼介紹了vue用rem布局的實現(xiàn)代碼,需要的朋友可以參考下
    2018-09-09
  • vue引用BootStrap以及引用bootStrap-vue.js問題

    vue引用BootStrap以及引用bootStrap-vue.js問題

    這篇文章主要介紹了vue引用BootStrap以及引用bootStrap-vue.js問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue常用知識點整理

    vue常用知識點整理

    Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架。這篇文章整理了vue中的常用知識點,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Vue中watch與watchEffect的區(qū)別詳細(xì)解讀

    Vue中watch與watchEffect的區(qū)別詳細(xì)解讀

    這篇文章主要介紹了Vue中watch與watchEffect的區(qū)別詳細(xì)解讀,watch函數(shù)與watchEffect函數(shù)都是監(jiān)聽器,在寫法和用法上有一定區(qū)別,是同一功能的兩種不同形態(tài),底層都是一樣的,需要的朋友可以參考下
    2023-11-11
  • vue+element-ui+axios多文件上傳的實現(xiàn)并顯示整體進(jìn)度

    vue+element-ui+axios多文件上傳的實現(xiàn)并顯示整體進(jìn)度

    這篇文章主要介紹了vue+element-ui+axios多文件上傳的實現(xiàn)并顯示整體進(jìn)度,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論

石台县| 同德县| 平昌县| 江北区| 米脂县| 通辽市| 仁怀市| 昆山市| 松滋市| 蓬溪县| 精河县| 如东县| 额济纳旗| 惠东县| 云南省| 尖扎县| 庄浪县| 土默特左旗| 海安县| 灌云县| 崇明县| 溧水县| 永寿县| 普格县| 建宁县| 巴里| 临海市| 张家界市| 城固县| 收藏| 从江县| 青海省| 大庆市| 元谋县| 敦化市| 银川市| 尉氏县| 嘉义市| 任丘市| 邓州市| 台江县|