<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
        主站蜘蛛池模板: 精品在线观看免费| 久久亚洲精品高潮综合色a片| 一本到卡二卡三卡免费高| 免费无码又爽又刺激高潮的视频| 亚洲av成人一区二区三区| 91九色老熟女免费资源站| 亚洲天堂中文字幕在线观看| 最近高清中文字幕免费| 亚洲一级毛片在线播放| 麻豆国产入口在线观看免费| 亚洲另类无码专区丝袜| 国产免费131美女视频| 一级毛片大全免费播放| 亚洲日韩中文无码久久| 卡一卡二卡三在线入口免费| 亚洲经典千人经典日产| 亚洲成a人片在线播放| 亚洲六月丁香六月婷婷色伊人| 色猫咪免费人成网站在线观看| 亚洲精品91在线| 四虎成人免费观看在线网址 | 亚洲AV成人一区二区三区AV| 亚欧免费无码aⅴ在线观看| 亚洲国产韩国一区二区| 日本免费网站在线观看| 人妻18毛片a级毛片免费看| 国产亚洲精品a在线无码| 国产va精品免费观看| 青草青草视频2免费观看| 亚洲AV永久无码区成人网站| 青青在线久青草免费观看| 偷自拍亚洲视频在线观看99| 亚洲精品无码av人在线观看| 亚洲视频免费在线看| 精品免费AV一区二区三区| 九月丁香婷婷亚洲综合色| 永久免费的网站在线观看| 久久国产乱子伦精品免费午夜| 亚洲精品国产情侣av在线| 亚洲 无码 在线 专区| 亚洲网站在线免费观看|