vuejs uni-app Popup彈框使用教程

uni-app 是一個(gè)使用 Vue.js 開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可發(fā)布到iOS、Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個(gè)平臺

uni-ui是DCloud提供的一個(gè)跨端ui庫,它是基于vue組件的、flex布局的、無dom的跨全端ui框架。uni-ui不包括基礎(chǔ)組件,它是基礎(chǔ)組件的補(bǔ)充。

我在使用uni-ui的組件時(shí),碰到了文檔bug的坑,折騰了好久。以popup為例,記錄來一下。

uniapp的官網(wǎng)會把組件地址指向這里https://ext.dcloud.net.cn/plugin?id=329。 但這個(gè)文檔有問題。

以github為準(zhǔn):https://github.com/dcloudio/uni-ui。但github也會跳轉(zhuǎn)回那個(gè)網(wǎng)站,死循環(huán)。我記錄一下正確過程。

安裝

npm install @dcloudio/uni-ui  --save

import

文檔寫的import uniPopup from "@/components/uni-popup/uni-popup.vue" 是錯(cuò)的

看github有個(gè)引用的列表

image.png

在這里找到相應(yīng)的路徑

import uniPopup from '@dcloudio/uni-ui/lib/uni-popup/uni-popup'

簡便寫法,但是會引入更多東西:

import {uniPopup} from '@dcloudio/uni-ui'

可以配置Tree shaking,在打包的時(shí)候消除無用代碼(dead code)的方式
配置Tree Shaking來減少JavaScript的打包體積

使用

通過ref來調(diào)用彈框顯示、隱藏 this.$refs.popupHi.open()

<button @click="openHi">打開彈窗</button>
<uni-popup ref="popupHi" type="bottom">底部彈出 Popup</uni-popup>

  methods:{
     openHi(){
        this.$refs.popupHi.open()
     }
  }

文檔上顯示的效果是彈框有白色背景,實(shí)際是沒有的默認(rèn)的,要自己寫。

這個(gè)是一個(gè)居中彈框,居中顯示是type="center",再在<uni-popup>里填充了icon和文字,在寫下popup-box的樣式:

image.png
    <uni-popup class="finish-popup" ref="finish" type="center">
      <view class="popup-box">
        <uni-icons type="checkmarkempty" size="60"></uni-icons>
        <view class="txt">恭喜完成閱讀</view>
      </view>
    </uni-popup>

  .popup-box {
    text-align: center;
    background-color: #fff;
    padding: 30rpx;
    border-radius: 10rpx;
    font-size: 28rpx;
  }

默認(rèn)是點(diǎn)擊隨意一處后關(guān)閉彈框??梢杂枚〞r(shí)器來自動關(guān)閉:

 openHi(){
      setTimeout(() => {
        this.$refs.finish.close()
      }, 2000)
      this.$refs.popupHi.open()
 }

.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容