vant倒序年月日期組件封裝實(shí)例詳解
如圖,時間選擇,倒序排列。時間格式 202312,可以根據(jù)自己的格式改一下數(shù)據(jù)處理方式
組件:
<template> <div class="number"> <van-cell-group> <van-field class="date-select" readonly clickable v-model="date" placeholder="選擇時間" @click="showPicker = true" /> <van-popup v-model="showPicker" round position="bottom"> <van-picker class="picker" show-toolbar :columns="columns" @change="onChange" @cancel="showPicker = false" @confirm="onConfirm"> </van-picker> </van-popup> </van-cell-group> </div> </template> <script> export default { name: 'DateSelect', props: { default: { type: String, default: '' }, minYear: { type: String, default: '2014' } }, data() { return { date: this.default, initTime: this.minYear, columns: [], checkTime: {}, showPicker: false } }, created() { this.initTimeFn() }, methods: { initTimeFn() { const initTime = this.initTime const defaultYear = this.default.substring(0, 4) const defaultMonth = this.default.substring(4) // for (let i = 0; i <= Number(new Date().getFullYear()) - initTime; i++) { for (let i = Number(new Date().getFullYear()); i >= initTime; i--) { this.checkTime[`${i}年`] = [ '01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月' ] } const yearIndex = Object.keys(this.checkTime).findIndex((item) => item.includes(defaultYear) ) this.columns = [ { values: Object.keys(this.checkTime), defaultIndex: yearIndex //Number(new Date().getFullYear()) - initTime }, { values: this.checkTime[`${new Date().getFullYear()}年`], defaultIndex: Number(defaultMonth) //new Date().getMonth() } ] }, onCancel() { this.showPicker = false }, onConfirm(value) { this.showPicker = false let year = value && value[0].split('年')[0] let month = value && value[1].split('月')[0] this.date = this.userListForm = `${year}${month}` this.$emit('getDate', this.userListForm) }, onChange(picker, values) { picker.setColumnValues(1, this.checkTime[values[0]]) } } } </script> <style lang="less"> .number { width: 2.4rem; .picker { font-size: 0.32rem; } .van-cell { padding: 0; } .date-select { border: 1px solid rgb(74, 119, 246); padding-left: 0.1rem; border-radius: 0.1rem; font-size: 0.32rem; line-height: 1.5; } } </style>
使用:
<DateSelect @getDate="getDate" default="202312" />
getDate(date) { this.date = date //自己組件使用的時間變量 this.getList() },
到此這篇關(guān)于vant倒序年月日期組件封裝的文章就介紹到這了,更多相關(guān)vant倒序年月日期組件封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript中函數(shù)名.length屬性用法分析(對比arguments.length)
這篇文章主要介紹了Javascript中函數(shù)名.length屬性用法,結(jié)合實(shí)例形式簡單對比分析了與arguments.length屬性的用法區(qū)別,需要的朋友可以參考下2016-09-09JavaScript保存并運(yùn)算頁面中數(shù)字類型變量的寫法
這篇文章主要介紹了JavaScript保存并運(yùn)算頁面中數(shù)字類型變量的寫法,當(dāng)你在頁面中需要不停運(yùn)算一個數(shù)字變量時非常有用,普通的寫法不能正常運(yùn)算,使用本文方法就可以,需要的朋友可以參考下2015-07-07快速實(shí)現(xiàn)JS圖片懶加載(可視區(qū)域加載)示例代碼
目前很多網(wǎng)站,在圖片加載時均采用了一種名為懶加載的方式,具體表現(xiàn)為,當(dāng)頁面被請求時,只加載可視區(qū)域的圖片,其它部分的圖片則不加載,只有這些圖片出現(xiàn)在可視區(qū)域時才會動態(tài)加載這些圖片,下面本文就介紹了JS圖片懶加載(可視區(qū)域加載)的實(shí)現(xiàn)方法,一起來看看吧。2017-01-01淺析為什么a="abc" 不等于 a=new String("abc")
這篇文章主要介紹了為什么a="abc" 不等于 a=new String("abc"),需要的朋友可以參考下2017-10-10ionic cordova一次上傳多張圖片(類似input file提交表單)的實(shí)現(xiàn)方法
這篇文章主要介紹了ionic cordova一次上傳多張圖片(類似input file提交表單)的實(shí)現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12