mpvue的toast彈窗組件-mptosat


  幾乎每個小程序都會用到的彈窗功能,彈窗是為了友好的提示用戶目前小程序的狀態。這樣以來toast彈窗就成了小程序不可或缺的組件。mptosat用過,不賴的一款。下面記錄以下使用方法:

介紹

mptoast 是一個基於mpvue的簡單彈窗組件 github地址:https://github.com/noahlam/mpvue-toast

安裝

1.安裝vuex,如果你項目還沒使用的話。請放心,雖然mptoast依賴vuex,你不會接觸到任何有關vuex的代碼。添加vuex只為讓你寫更少的代碼。

npm i vuex

2.安裝mptoast

npm i mptoast -D

3.在項目的主配置文件(一般位於src/main.js)加入以下代碼

import mpvueToastRegistry from 'mptoast'
mpvueToastRegistry(Vue)

4.在你需要彈窗的頁面,引入組件,並注冊,然后在頁面內加入一個你注冊的組件,就可以在js里面調用this.$mptoast()了, 以下是一個簡單的實例

<template>
  <div>
    <-- 省略其他代碼 -->
    <mptoast />
  </div>
</template>

<script>
import mptoast from 'mptoast'

export default {
  components: {
    mptoast
  },
  data () {
    return {}
  },
  methods: {
    showToast () {
      this.$mptoast('我是提示信息')
    },
  }
}
</script>

至於為什么沒辦法做到像vue組件那樣,引入一次,就可以在所有頁面使用,我想我必須得解釋以下,因為mpvue目前還不支持全局的組件,我嘗試過很多種變通辦法,都行不通,甚至為了讓大家使用的時候,少輸入幾個字,少一些冗余,我都做了很多嘗試和優化,目前mpvue團隊已經在考慮新增全局組件功能,我會時刻關注,一旦支持,我這邊也立馬做支持

參數說明

參數分2種類型,一種是多個參數,另一個種則少只接收一個對象

一, 多個參數

參數位置 參數類型 參數名稱 是否必填 默認值 其他說明
1 string 顯示文本 - 如果第一個參數不是string或number類型
則會被當作對象來處理,也就是上面提到的另一種情況
2 stirng 顯示圖標類型 - 3種可選 'success' , 'error' , 'info'
3 number 關閉時間 1500 單位是毫秒ms,傳其他格式(非number類型)會報錯
4 string 文本樣式類名 - 如果需要自定義顯示的樣式,請先定一個樣式類
然后把類名傳給該參數,定義類的時候
如果所有頁面都使用這個類,必須定義為全局的
如果定義在scope作用域內的話
子組件不能復用父組件的樣式。
5 string icon樣式類名 - 同上,需要注意的是icon是包含在文本里面的

 以下代碼是一個多個參數調用的簡單實例

this.$mptoast('溫馨提示', 'success', 2000)

二, 單個object對象
object對象參數的功能,其實跟上面多個參數的對應的功能是一樣的,只是寫法不同而已,我們直接看代碼

this.$mptoast({
  text: '溫馨提示',        // 顯示文本
  icon:'success'          // 圖標類型
  duration:  2000,        // 關閉時間
  textClass: 'my-class'   // 樣式類名
  iconClass: 'icon-class' // 圖標類名
})

需要注意的是,以上參數,如果傳入錯誤的類型,先會進行類型轉換,如果轉換失敗的,可能會報錯。

原文鏈接:https://segmentfault.com/a/1190000014331380


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM