<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        微信小程序使用component自定義toast彈窗效果

        來源:懂視網 責編:小采 時間:2020-11-27 22:03:16
        文檔

        微信小程序使用component自定義toast彈窗效果

        微信小程序使用component自定義toast彈窗效果:前言 微信小程序自帶的消息提示框有字數限制,而且圖標僅僅只有success,loading,none。當我們在實際開發過程中,面對UI給的設計圖稿和微信小程序默認提供的消息提示框具有很大差別的時候,自然就不能再使用微信小程序的消息提示框,而應當使用com
        推薦度:
        導讀微信小程序使用component自定義toast彈窗效果:前言 微信小程序自帶的消息提示框有字數限制,而且圖標僅僅只有success,loading,none。當我們在實際開發過程中,面對UI給的設計圖稿和微信小程序默認提供的消息提示框具有很大差別的時候,自然就不能再使用微信小程序的消息提示框,而應當使用com

        前言

        微信小程序自帶的消息提示框有字數限制,而且圖標僅僅只有"success","loading","none"。當我們在實際開發過程中,面對UI給的設計圖稿和微信小程序默認提供的消息提示框具有很大差別的時候,自然就不能再使用微信小程序的消息提示框,而應當使用component自定義消息提示框組件。

        效果圖

        Step1:初始化組件

        新建一個components文件夾,這個文件夾用來存放我們以后要開發的所有自定義組件。

        然后在components文件夾中創建Toast文件夾,在Toast上右擊新建Component 之后就會自動創建相對應的wxml、wxss、js、json文件。

        Step2:組件的相關配置

        將toast.json 中component 設置為true

        toast.json:

        {
         "component": true, // 自定義組件聲明
         "usingComponents": {} // 可選項,用于引用別的組件
        }

        然后在toast.wxml文件里寫彈窗組件的模板,在toast.wxss文件里寫組件的樣式

        toast.wxml:

        <!--components/Toast/toast.wxml-->
        <view class='mask' hidden="{{isShow}}">
         <image class="image" src='../../images/{{icon}}.png' mode='aspectFit'></image>
         <view class='info'>{{information}}</view>
        </view>

        toast.wxss:

        /* components/Toast/toast.wxss */
        .mask{
         width: 400rpx;
         height: 300rpx;
         border-radius:10rpx; 
         position: fixed;
         z-index: 1000;
         top: 300rpx;
         left: 175rpx;
         background: rgba(0, 0, 0, 0.6);
        }
        .image{
         z-index: 1000;
         width: 120rpx;
         height: 120rpx;
         margin-left: 140rpx;
        }
        .info{
         margin-top:50rpx; 
         z-index: 1000;
         text-align: center;
         color: #ffffff;
        }
         width: 400rpx;
         height: 300rpx;
         border-radius:10rpx; 
         position: fixed;
         z-index: 1000;
         top: 300rpx;
         left: 175rpx;
         background: rgba(0, 0, 0, 0.6);
        }
        .image{
         z-index: 1000;
         width: 120rpx;
         height: 120rpx;
         margin-left:80rpx;
        }
        .info{
         margin-top:50rpx; 
         z-index: 1000;
         text-align: center;
         color: #ffffff;
        }

        Step3:定義屬性、數據和事件

        可以看到在toast.wxml文件中出現了{{isShow}}、{{icon}}、{{information}} 變量,這是為了組件模板能夠根據傳入的屬性動態變化。

        toast.js :

        // components/Toast/toast.js
        Component({
         /**
         * 組件的屬性列表
         */
         properties: { //定義組件屬性
         information:{ //用來顯示提示信息
         type: String, // 類型(必填),目前接受的類型包括:String, Number, Boolean, Object, Array, null(表示任意類型)
         value: '提示信息' // 屬性初始值(可選),如果未指定則會根據類型選擇一個
         },
         icon:{ //圖標類型,我在images文件夾中存放了success和fail的兩個圖標
         type:String,
         value:'success'
         },
         showTime:{ //彈窗開始顯示的時間單位ms
         type: Number,
         value:1000
         },
         hideTime: { //彈窗開始隱藏的時間單位ms
         type: Number,
         value: 1000
         }
         },
         /**
         * 組件的初始數據
         */
         data: {
         isShow:true
         },
         /**
         * 組件的方法列表
         */
         methods:{ 
         showToast:function () {
         let that = this;
         setTimeout(function () { 
         that.setData({
         isShow: !that.data.isShow
         });
         }, that.data.showTime);
         },
         hideToast: function (e) {
         let that = this;
         setTimeout(function(){ 
         that.setData({
         isShow: !that.data.isShow
         });
         },that.data.hideTime);
         }
         }
        })

        Step4:使用彈窗/strong>

        目前已經完成了toast組件模板,接下來就是在需要顯示這個彈窗的頁面中使用它。

        index.json:引入組件

        {
         "usingComponents": {
         "toast": "/components/Toast/toast"
         }
        }

        index.wxml:

        <!--page/index/index.wxml-->
        <view class="container">
         <toast id='toast'information="提交成功,我們會盡快和您聯系" icon="success" showTime="1000" hideTime='2000'></toast>
         <button type="primary" bindtap="show"> 顯示彈窗 </button>
        </view>

        index.js:

        // page/index/index.js
        Page({
         /**
         * 頁面的初始數據
         */
         data: {
        
         },
         show:function(){
         this.toast.showToast();
         this.toast.hideToast();
         },
         /**
         * 生命周期函數--監聽頁面加載
         */
         onLoad: function (options) {
        
         },
         /**
         * 生命周期函數--監聽頁面初次渲染完成
         */
         onReady: function () {
         this.toast = this.selectComponent("#toast");
         },
         /**
         * 生命周期函數--監聽頁面顯示
         */
         onShow: function () {
        
         },
         /**
         * 生命周期函數--監聽頁面隱藏
         */
         onHide: function () {
        
         },
         /**
         * 生命周期函數--監聽頁面卸載
         */
         onUnload: function () {
        
         },
         /**
         * 頁面相關事件處理函數--監聽用戶下拉動作
         */
         onPullDownRefresh: function () {
        
         },
         /**
         * 頁面上拉觸底事件的處理函數
         */
         onReachBottom: function () {
        
         },
         /**
         * 用戶點擊右上角分享
         */
         onShareAppMessage: function () {
        
         }
        })
        
        

        至此我們就完成了自定義toast組件的步驟。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        微信小程序使用component自定義toast彈窗效果

        微信小程序使用component自定義toast彈窗效果:前言 微信小程序自帶的消息提示框有字數限制,而且圖標僅僅只有success,loading,none。當我們在實際開發過程中,面對UI給的設計圖稿和微信小程序默認提供的消息提示框具有很大差別的時候,自然就不能再使用微信小程序的消息提示框,而應當使用com
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 精品国产日韩亚洲一区91| 亚洲乱色伦图片区小说| 免费国产成人午夜电影| 亚洲乱码在线观看| 性一交一乱一视频免费看| 亚洲精品蜜夜内射| 免费欧洲美女牲交视频| 理论秋霞在线看免费| 国产亚洲美女精品久久久| 国产啪精品视频网站免费尤物 | 亚洲精品自产拍在线观看| 大妹子影视剧在线观看全集免费 | 中文字幕无线码中文字幕免费| 亚洲国产一区明星换脸| 国产免费高清69式视频在线观看| 亚洲XX00视频| 黄色片免费在线观看| 亚洲色图.com| 日本一道一区二区免费看| 男人免费视频一区二区在线观看| a级亚洲片精品久久久久久久| 99免费在线观看视频| 亚洲色大成网站www久久九| 91视频免费网址| 中文日韩亚洲欧美制服| 午夜亚洲国产成人不卡在线| 亚洲一区二区无码偷拍| 免费人成视频x8x8入口| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲欧洲精品国产区| 日韩精品视频免费网址| 中文字幕免费在线播放| 亚洲一区二区三区国产精品无码| 免费一级e一片在线播放| 无码人妻丰满熟妇区免费| 亚洲熟妇无码AV| 亚洲大成色www永久网站| 最近的中文字幕大全免费版| 久久久WWW免费人成精品| 亚洲av乱码一区二区三区香蕉| 久久精品国产精品亚洲下载|