Vue使用vant實(shí)現(xiàn)日期選擇器功能
前言
在當(dāng)今前端開發(fā)的領(lǐng)域中,Vue 框架因其高效和靈活的特性備受開發(fā)者青睞。而 Vant 是一個(gè)輕量的移動(dòng)端組件庫(kù),為 ???????Vue 應(yīng)用的開發(fā)提供了豐富且便捷的功能組件。在眾多的組件應(yīng)用中,日期選擇器又是一個(gè)常見且重要的需求。
本文將就如何在 Vue 框架中通過(guò) Vant 來(lái)實(shí)現(xiàn)日期選擇器的使用。
一、實(shí)現(xiàn)的效果
二、實(shí)現(xiàn)方案
可參考vant官網(wǎng)。
注:使用前要注意項(xiàng)目是 Vue2 還是 Vue3 ,所用到的Vant版本是不一樣的!
由于我的項(xiàng)目是Vue2的,所以本文用的Vant版本是Vant2。
- 在現(xiàn)有項(xiàng)目中使用
Vant
時(shí),可以通過(guò)npm
或yarn
進(jìn)行安裝:
// Vue 3 項(xiàng)目,安裝最新版 Vant: npm i vant -S // Vue 2 項(xiàng)目,安裝 Vant 2: npm i vant@latest-v2 -S
- 我這邊的項(xiàng)目比較小,暫時(shí)用到幾個(gè)組件,所以用了按需引入的方式:
- 首先在
src
文件下新建plugins
文件,里面新建vant.js
,如下圖:
import Vue from 'vue' import {List, Uploader, Toast, Popup, DatetimePicker} from 'vant' const uses = [List, Uploader, Toast, Popup, DatetimePicker] uses.forEach(use => { Vue.use(use) })
- 然后在
main.js
中引入此文件,如下圖:
完成這兩步操作之后,后續(xù)在頁(yè)面里就能夠正常加以使用了。
- 在使用日期選擇器的時(shí)候,結(jié)合了彈出層一起使用:
用彈出層將日期選擇器包起來(lái)。
彈出層設(shè)置了 底部彈出、圓角彈窗、40%的高度,這些屬性都可以根據(jù)自己項(xiàng)目實(shí)際情況進(jìn)行調(diào)整.
<van-popup v-model="show" position="bottom" round :style="{ height: '40%' }"> <van-datetime-picker v-model="currentDate" type="date" title="請(qǐng)選擇日期" :formatter="formatter" @change="change" @confirm="confirm" @cancel="cancel" safe-area-inset-bottom /> </van-popup>
DatetimePicker
通過(guò)type
屬性來(lái)定義需要選擇的時(shí)間類型,type
為date
表示選擇年月日。在默認(rèn)的日期選擇器中,數(shù)字的后面是不帶“年月日”這幾個(gè)字的:
如果想要實(shí)現(xiàn)效果圖中帶“年月日”字樣的,則需要加上formatter
屬性即可:
formatter(type, val) { if (type === 'year') { return val + '年'; } if (type === 'month') { return val + '月'; } if (type === 'day') { return val + '日'; } return val; },
- 如果想要日期選擇器彈出來(lái)的時(shí)候,默認(rèn)是當(dāng)天的日期:
// 在data中設(shè)置即可 currentDate: new Date(),
另外可以通過(guò)
min-date
和max-date
屬性可以確定可選的時(shí)間范圍,不過(guò)我這邊沒(méi)有用到此屬性,用的時(shí)候可參考文檔進(jìn)行設(shè)置即可。日期選擇器總共三個(gè)事件,需要哪個(gè)直接用即可:
change(val) { console.log(val, 'val') }, confirm() { this.dateValue = this.timeFormat(this.currentDate); console.log(this.dateValue, 'dateValue') this.cancel(); }, cancel() { this.show = false; },
- 如果想在點(diǎn)擊日期選擇器的“完成”按鈕時(shí),讓時(shí)間顯示成
**** 年 * 月 * 日
的格式,需要單獨(dú)寫一個(gè)格式化時(shí)間的方法,在confirm
事件中調(diào)用即可:
timeFormat(time) { // 時(shí)間格式化 ****年*月*日 let year = time.getFullYear(); let month = time.getMonth() + 1; let day = time.getDate(); return year + '年' + month + '月' + day + '日'; },
這樣選擇完時(shí)間后,顯示出來(lái)的就是下圖這種:
大功告成!
三、總結(jié)
Vant
的使用方法極為簡(jiǎn)便,所需代碼量極少,其文檔中的 API
也十分詳盡,特別適合在 Vue
項(xiàng)目的移動(dòng)端加以運(yùn)用。
以上就是Vue使用vant實(shí)現(xiàn)日期選擇器功能的詳細(xì)內(nèi)容,更多關(guān)于Vue vant日期選擇器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue3.0+echarts實(shí)現(xiàn)立體柱圖
這篇文章主要為大家詳細(xì)介紹了vue3.0+echarts實(shí)現(xiàn)立體柱圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09解決‘vue-cli-service‘不是內(nèi)部或外部命令,也不是可運(yùn)行的程序問(wèn)題
遇到'vue-cli-service'不是內(nèi)部或外部命令的錯(cuò)誤通常因?yàn)閂ueCLI未正確安裝或配置,解決步驟包括確保VueCLI全局安裝、檢查項(xiàng)目依賴、安裝項(xiàng)目依賴、清理并重新安裝依賴以及使用npm腳本調(diào)用vue-cli-service,按步驟操作后應(yīng)能解決問(wèn)題2024-11-11Vue實(shí)現(xiàn)動(dòng)態(tài)查詢規(guī)則生成組件
今天我們來(lái)給大家介紹下在Vue開發(fā)中我們經(jīng)常會(huì)碰到的一種需求場(chǎng)景,本文主要介紹了Vue動(dòng)態(tài)查詢規(guī)則生成組件,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05vue elementUI實(shí)現(xiàn)自定義正則規(guī)則驗(yàn)證
本文主要介紹了vue elementUI實(shí)現(xiàn)自定義正則規(guī)則驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Vue+Element UI 樹形控件整合下拉功能菜單(tree + dropdown +input)
這篇文章主要介紹了Vue+Element UI 樹形控件整合下拉功能菜單(tree + dropdown +input)的方法,幫助大家更好的理解和學(xué)習(xí)vue,感興趣的朋友可以了解下2020-08-08Vue常見報(bào)錯(cuò)整理大全(從此報(bào)錯(cuò)不害怕)
寫代碼的過(guò)程中一定會(huì)遇到報(bào)錯(cuò),遇到報(bào)錯(cuò)不要擔(dān)心,認(rèn)真分析就可以解決報(bào)錯(cuò),同時(shí)積累經(jīng)驗(yàn),早日成為大牛,這篇文章主要給大家介紹了關(guān)于Vue常見報(bào)錯(cuò)整理的相關(guān)資料,需要的朋友可以參考下2022-08-08