中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

微信小程序自定義toast彈窗效果的實現代碼

微信小程序里面的自帶彈窗icon只有兩種,success和loading。有時候用戶輸入錯誤的時候想加入一個提醒圖標,也可以使用wx.showToast中的image來添加圖片達到使用自定義圖標的目的;但是如果圖標是字體,或者提醒的內容有很長捏(小程序中提醒的內容最多只能設置7個字,多了會被隱藏),那就只有自定義toast彈窗了;

創新互聯專注于企業全網營銷推廣、網站重做改版、城北網站定制設計、自適應品牌網站建設、H5響應式網站商城網站制作、集團公司官網建設、成都外貿網站建設公司、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為城北等各大城市提供網站開發制作服務。

第一步:新建一個wxml文件用來裝模板,方便以后使用,比如

微信小程序自定義toast彈窗效果的實現代碼

然后在這里面添加模板代碼

<template name="toast"> //name相當于模板的標識,引用的時候好判斷引用哪一個
 <view class='toast-out' wx:if='{{isShow}}'>    //wx:if是條件渲染,使用這個是為了好判斷是否顯示或隱藏toast
 <view class='toast-in'>      
 <span class='iconfont {{iconClass}}'></span> //使用的阿里字體圖標,根據傳入的class值改變顯示的圖標
 <view class='toast-txt'>
  {{txt}}          //需要顯示的提醒內容
 </view>
 </view>
 </view>
</template>

第二步:定義toast的樣式

.toast-out {
 position: fixed;
 top: 0;
 left: 0;
 z-index: 9999;
 width: 100%;
 height: 100%;
 display: flex; //小程序中多使用flex布局,很方便的
 justify-content: center;  
 align-items: center;
}
.toast-out .toast-in {
 min-width: 100px;
 background: rgba(0, 0, 0, 0.7);
 padding: 6px;
 text-align: center;
 color: white;
 border-radius: 8px;
}
.toast-out .toast-in span {
 font-size: 30px;
}
.toast-out .toast-in .toast-txt {
 font-size: 14px;
}

第三步:在需要彈窗的頁面import那個toast模板頁面:

<import src="../../public/html/template.wxml" />

備注:../是指返回上一層目錄即父目錄,兩個../即返回到父目錄的父目錄。/是根目錄,絕對路徑。這里也可以使用絕對路徑

然后再在這個頁面任何地方引用模板

<template is="toast" data="{{txt,isShow,iconClass}}"></template>

第四步:在引入彈窗頁面的js中

在page的data里先定義  isShow:false //默認隱藏的  但是我有點奇怪的是,不定義這個屬性,注釋掉,都能正常的隱藏與顯示。

       然后定義一個顯示彈窗的函數

toastShow:function(str,icon){
 var _this = this;
 _this.setData({
 isShow: true,
 txt: str,
 iconClass:icon
 });
 setTimeout(function () { //toast消失
 _this.setData({
 isShow: false
 });
 }, 1500); 
}

     然后在需要toast彈窗顯示的事件里調用該事件就行了,比如:

log_btn:function(){
 var name=this.data.userName;if(name==""){
 this.toastShow('登錄名不能為空',"icon-suo");
 }
}

 結果:

微信小程序自定義toast彈窗效果的實現代碼

圖標隨意弄的。。。

或者是在把彈窗的js寫入App({})里面,然后需要用的頁面就直接getApp().toastShow()就行了。例如:

App({
 toastShow: function (that, str, icon){
 that.setData({
 isShow: true,
 txt: str,
 iconClass: icon
 });
 setTimeout(function () {
 that.setData({
 isShow: false
 });
 }, 1500);
 }, 
})

然后在需要引入彈窗的頁面:

var app = getApp();

在該頁面需要調用的函數中:

his_clear:function(){ 
 app.toastShow(this, "清除成功", "icon-correct"); 
},

連接:小程序使用阿里字體圖標

總結: 和HTML不一樣,小程序中wx:if條件渲染就可以實現隱藏與顯示的wx:if="false"就是隱藏,true就是顯示。

    使用display:flex彈性盒子布局很方便,就比如上面彈窗的水平與垂直居中,只要設置兩個屬性就可以了。不用再像以前一樣還需要設置其它的一堆,以前水平垂直居中的方法

補充:

justify-content 的可選屬性有:flex-start(全靠左),flex-end(全靠右),center(居中),space-between,space-around,initial(從父元素繼承該屬性)

可查看效果:http://www.runoob.com/try/playit.php?f=playcss_justify-content&preval=flex-start

align-items 的可選屬性有:stretch,center,flex-start,flex-end,baseline(處于同一條基線),initial(設置為默認值),inherit(從父元素繼承該屬性)

可查看效果:http://www.runoob.com/try/playit.php?f=playcss_align-items&preval=baseline

總結

以上所述是小編給大家介紹的微信小程序之自定義toast彈窗,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!

網站欄目:微信小程序自定義toast彈窗效果的實現代碼
路徑分享:http://m.2m8n56k.cn/article48/jdsjep.html

成都網站建設公司_創新互聯,為您提供虛擬主機微信小程序做網站ChatGPT自適應網站品牌網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
主站蜘蛛池模板: 国内一区二区 | 日韩中文字幕一在线 | 欧美成人免费在线观看 | 一级片日韩 | 久久艹在线 | 亚洲国产一区在线 | 青青热在线精品视频免费 | 欧美日韩亚洲国内综合网俺 | 九九成人免费视频 | 性欧洲精品videos' | 欧美日本亚洲国产一区二区 | 欧美最新的精品videoss | 成人国产精品免费网站 | 92午夜国产福利视频1000 | 国产午夜精品久久久久免费视 | 日本免费人成黄页网观看视频 | 99精品视频在线观看免费播放 | 50岁老女人毛片一级亚洲 | xp123欧美亚洲国产日韩 | 国产精品特黄一级国产大片 | 情侣偷偷看的羞羞视频网站 | 亚洲国产天堂久久精品网 | 日韩一级免费毛片 | 国产精品亚洲片在线观看不卡 | 欧美一级毛片免费看 | 免费亚洲网站 | 日本不卡高清免费 | 美女18网站 | 美女的被男人桶爽网站 | 成人亚洲精品7777 | 亚洲一区二区三区视频 | 中国国产一级毛片 | 一区二区三区四区在线播放 | 久久综合久久久 | 欧美日韩一区二区不卡三区 | 国产精品久久人人做人人爽 | 特黄特色三级在线播放 | 国内自拍2020| 亚洲天堂色视频 | 久草视频免费播放 | 自拍在线视频 |