欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue移動端UI庫之vant安裝使用教程

 更新時間:2025年09月06日 13:48:09   作者:時間sk  
Vant是一個輕量、可靠的移動端組件庫,目前官方只提供了Vue2、3以及微信小程序版本,并由社區(qū)團隊維護React版本和支付寶小程序版本,這篇文章主要介紹了Vue移動端UI庫之vant安裝使用的相關(guān)資料,需要的朋友可以參考下
Vant是有贊開源的一套基于Vue 2.0的移動端的組件庫。
官方地址:https://develop365.gitlab.io/vant/zh-CN/home/

1.Toast輕提示
Toast官方文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/toast
2.Switch開關(guān)
Switch官方文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/switch
3.Dialog彈出框
Dialog官方文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/dialog
4.Area省市區(qū)選擇
Area官方文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/area
省市區(qū)三級聯(lián)動選擇,通常與彈出層組件配合使用。
彈出層官方文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/popup
首先需要下載省市區(qū)的數(shù)據(jù)源,下載地址:https://github.com/youzan/vant/blob/dev/src/area/demo/area.js

第一步:

使用 Vant 時,可以通過 npm 進行安裝:

npm i vant@latest-v2 -S

第二步:

按需引入你所需要的組件安裝babel插件

npm i babel-plugin-import -D

第三步配置按需引入,在babel.config.js文件中加入下面代碼

1.Toast輕提示

引入Toast組件

import { Toast } from 'vant';
Vue.use(Toast);

Toast(“請輸入手機號”)

效果演示

Toast.success(“請輸入手機號”)

效果演示

vantToast.fail(“請輸入手機號”)

效果演示

2.Switch開關(guān)

<!-- 開關(guān) -->
 <van-switch 
			 v-model="isOpin" 
				 size="60px"
 				 active-color="red" 
 			 inactive-color="blue"  >

開關(guān)

</van-switch>

定義開關(guān)的相關(guān)狀態(tài)

3.Dialog彈出框

1. Vant UI 的 Dialog 組件簡介

Dialog 是一個彈出框組件,用于在頁面上顯示提示信息、確認操作等。它支持多種類型(如普通對話框、確認框、自定義內(nèi)容等),并且可以通過 Promise 的方式處理用戶操作(如點擊確認或取消按鈕)。

2. 基本用法

引入 Dialog 組件

在 Vue 項目中,可以通過以下方式引入 Dialog 組件:

import { Dialog } from 'vant';
Vue.use(Dialog);

1. Dialog.alert方法使用

2. Dialog.confirm方法使用

3. Dialog 組件提供了豐富的配置選項,以下是一些常用的配置:

基本配置

1. title:對話框標題,默認值為 ''。
2. message:對話框內(nèi)容,可以是字符串或 HTML。
3. theme:按鈕主題,可選值為 default 或 round-button。
4. showCancelButton:是否顯示取消按鈕,默認值為 false。
5. showConfirmButton:是否顯示確認按鈕,默認值為 true。
6. confirmButtonText:確認按鈕的文本,默認值為 '確認'。
7. cancelButtonText:取消按鈕的文本,默認值為 '取消'。

自定義樣式

1. className:自定義類名,用于添加額外的樣式。
2. overlayClass:遮罩層的自定義類名。
3. overlayStyle:遮罩層的自定義樣式。

回調(diào)函數(shù)

1. beforeClose:在關(guān)閉對話框之前觸發(fā)的回調(diào)函數(shù),可以用于阻止關(guān)閉。
2. onOpened:對話框完全打開時觸發(fā)的回調(diào)函數(shù)。
3. onClosed:對話框完全關(guān)閉時觸發(fā)的回調(diào)函數(shù)。

4. 自定義內(nèi)容

如果需要顯示更復雜的內(nèi)容(如表單、圖片等),可以使用 Dialog.open 方法,并傳入一個 Vue 組件作為內(nèi)容。

Dialog.open({
  title: '自定義內(nèi)容',
  message: '<div>這里是自定義的 HTML 內(nèi)容</div>',
  theme: 'round-button',
  showConfirmButton: true,
  showCancelButton: true,
  confirmButtonText: '確定',
  cancelButtonText: '取消',
  confirmButtonColor: '#007aff',
  cancelButtonColor: '#999',
  className: 'custom-dialog',
  overlayClass: 'custom-overlay',
  overlayStyle: {
    backgroundColor: 'rgba(0, 0, 0, 0.5)'
  },
  beforeClose(action, done) {
    if (action === 'confirm') {
      // 確認操作
      console.log('確認操作');
      done(); // 關(guān)閉對話框
    } else {
      // 取消操作
      console.log('取消操作');
      done(); // 關(guān)閉對話框
    }
  },
  onOpened() {
    console.log('對話框已完全打開');
  },
  onClosed() {
    console.log('對話框已完全關(guān)閉');
  }
});

樣式覆蓋:可以通過 className 或 overlayClass 添加自定義樣式,也可以通過全局樣式覆蓋默認樣式。

5.Area省市區(qū)選擇

van-area 組件簡介:

van-area 是一個級聯(lián)選擇器,專門用于選擇省市區(qū)(或省市區(qū)縣)信息。它支持多級聯(lián)動選擇,并且可以通過事件回調(diào)獲取用戶選擇的結(jié)果。

<template>
  <div>
    <div>
      請選擇地區(qū):<span @click="isPopup=true">{{area ? area : "請選擇"}}</span>
    </div>

    <van-popup v-model="isPopup">
    
      <van-area
        title="選擇地區(qū)1:"
        :area-list="areaList"
        @cancel="isPopup=false"
        @confirm="vantSelectArea"
      />
      
    </van-popup>
  </div>
</template>

<span @click=“isPopup=true”>:點擊時將 isPopup 設(shè)置為 true,從而觸發(fā)彈出層顯示。

{{area ? area : “請選擇”}}:顯示當前選擇的地區(qū)信息,如果沒有選擇則顯示“請選擇”。

< van-popup v-model=“isPopup”>:彈出層組件,v-model 綁定的 isPopup 控制彈出層的顯示與隱藏。

< van-area>:省市區(qū)選擇組件。

1. title="選擇地區(qū)1:":設(shè)置標題。

2. :area-list="areaList":綁定地區(qū)數(shù)據(jù),areaList 是一個包含省市區(qū)數(shù)據(jù)的對象。
3. @cancel="isPopup=false":點擊取消按鈕時,關(guān)閉彈出層。

4. @confirm="vantSelectArea":點擊確認按鈕時,觸發(fā) vantSelectArea 方法。
data() {
  return {
    area: "", // 當前選擇的地區(qū)
    areaList: AreaList, // 地區(qū)數(shù)據(jù)
    isPopup: false // 控制彈出層的顯示與隱藏
  };
},

methods: {
  vantSelectArea(vals) {
    console.log(vals);
    if (vals.length > 0) {
      this.area = "";
      for (let i = 0; i < vals.length; i++) {
        this.area += "" + vals[i].name;
      }
      this.area = this.area.slice(1); // 去掉第一個字符(多余的空格)
      console.log(this.area);
      this.isPopup = false; // 關(guān)閉彈出層
    }
  }
}


vantSelectArea(vals):這是 van-area 組件的 @confirm 事件的回調(diào)函數(shù),當用戶點擊確認按鈕時觸發(fā)。

1. vals:用戶選擇的地區(qū)信息數(shù)組。

2. if (vals.length > 0):確保用戶有選擇的地區(qū)信息。

3. this.area = "":初始化 area,清空之前的值。

4. for (let i = 0; i < vals.length; i++):遍歷 vals 數(shù)組,將每個地區(qū)的名稱拼接到 this.area 中。

5. this.area += "" + vals[i].name:將每個地區(qū)的名稱拼接起來。這里使用了 "" + 來確保拼接的是字符串。

6. this.area = this.area.slice(1):去掉第一個字符(多余的空格)。因為拼接時會多出一個空格,所以需要去掉。

7. console.log(this.area):在控制臺打印最終選擇的地區(qū)名稱。

8. this.isPopup = false:關(guān)閉彈出層。

代碼優(yōu)化

methods: {
  vantSelectArea(vals) {
    if (vals.length > 0) {
      this.area = vals.map(val => val.name).join(" "); // 使用 map 和 join 拼接字符串
      console.log(this.area);
      this.isPopup = false; // 關(guān)閉彈出層
    }
  }
}

總結(jié) 

到此這篇關(guān)于Vue移動端UI庫之vant安裝使用的文章就介紹到這了,更多相關(guān)Vue移動端UI庫vant內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解從vue-loader源碼分析CSS Scoped的實現(xiàn)

    詳解從vue-loader源碼分析CSS Scoped的實現(xiàn)

    這篇文章主要介紹了詳解從vue-loader源碼分析CSS Scoped的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Vue.extend 編程式插入組件的實現(xiàn)

    Vue.extend 編程式插入組件的實現(xiàn)

    這篇文章主要介紹了Vue.extend 編程式插入組件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • vue中template模板編譯的過程全面剖析

    vue中template模板編譯的過程全面剖析

    這篇文章主要介紹了vue中template模板編譯的過程全面剖析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue簡單封裝axios網(wǎng)絡(luò)請求的方法

    Vue簡單封裝axios網(wǎng)絡(luò)請求的方法

    這篇文章主要介紹了Vue簡單封裝axios網(wǎng)絡(luò)請求,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,對Vue封裝axios網(wǎng)絡(luò)請求相關(guān)知識感興趣的朋友一起看看吧
    2022-11-11
  • 淺談Vue數(shù)據(jù)響應

    淺談Vue數(shù)據(jù)響應

    這篇文章主要介紹了淺談Vue數(shù)據(jù)響應,Vue的數(shù)據(jù)響應主要是依賴了Object.defineProperty(),下面就具體來介紹一下如何實現(xiàn)數(shù)據(jù)響應
    2018-11-11
  • vue3中require報錯require is not defined問題及解決

    vue3中require報錯require is not defined問題及解決

    這篇文章主要介紹了vue3中require報錯require is not defined問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue實現(xiàn)遠程獲取路由與頁面刷新導致404錯誤的解決

    Vue實現(xiàn)遠程獲取路由與頁面刷新導致404錯誤的解決

    這篇文章主要介紹了Vue實現(xiàn)遠程獲取路由與頁面刷新導致404錯誤的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • TypeScript踩坑之TS7053的問題及解決

    TypeScript踩坑之TS7053的問題及解決

    這篇文章主要介紹了TypeScript踩坑之TS7053的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 詳解無限滾動插件vue-infinite-scroll源碼解析

    詳解無限滾動插件vue-infinite-scroll源碼解析

    這篇文章主要介紹了詳解無限滾動插件vue-infinite-scroll源碼解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • vue在圖片上傳的時候壓縮圖片

    vue在圖片上傳的時候壓縮圖片

    這篇文章主要介紹了vue在圖片上傳的時候壓縮圖片,幫助大家緩解服務器壓力,提高程序性能,感興趣的朋友可以了解下
    2020-11-11

最新評論