微信小程序之自定义toast弹窗「建议收藏」

微信小程序之自定义toast弹窗「建议收藏」微信小程序里面的自带弹窗icon只有两种,success和loading。有时候用户输入错误的时候想加入一个提醒图标,也可以使用wx.showToast中的image来添加图片达到使用自定义图标的目的;但是如果图标是字体,或者提醒的内容有很长捏(小程序中提醒的内容最多只能设置7个字,多了会被隐藏),那就只有自定义toast弹窗了;第一步:新建一个wxml文件用来装模板,方便以后使用,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

微信小程序里面的自带弹窗icon只有两种,success和loading。有时候用户输入错误的时候想加入一个提醒图标,也可以使用wx.showToast中的image来添加图片达到使用自定义图标的目的;但是如果图标是字体,或者提醒的内容有很长捏(小程序中提醒的内容最多只能设置7个字,多了会被隐藏),那就只有自定义toast弹窗了;

第一步:新建一个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

 

转载于:https://www.cnblogs.com/zjjDaily/p/8031953.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193092.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Windows.h 常用API函数【转】[通俗易懂]

    转自:https://blog.csdn.net/farmwang/article/details/50603608http://www.vbgood.com/api.htmlhttp://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄,这…

  • 玄门日诵早坛功课经注解_玄门日诵晚课经文

    玄门日诵早坛功课经注解_玄门日诵晚课经文加“◎”处十方韵功课中一般不诵,诸括号内为各部分名称,亦不诵此为在青羊宫董至光道长手打版本的基础上,我参照西安万寿八仙宫念诵音频加以断句与别字修正后的版本,太上玄门日诵早课仙经[澄清韵]琳琅振响十方肃清河海静默山岳吞烟万灵振伏招集群仙天无氛秽地无妖尘冥慧洞清大量玄玄也[举天尊]大罗三宝天尊◎[小提纲]灵音到处灭罪消愆宝号宣时扶危救难将当有开坛演教之偈仰劳道众随声应和[双吊挂]上坛齐举

    2022年10月26日
  • 关于WinExec和System的比较

    关于WinExec和System的比较http://nt04.blog.163.com/blog/static/3297804920116246622829/WinExec是一个WIN32API,它的第一个参数必须包含一个可执行文件名,SYSTEM是C库函数,它接受一个DOS命令。你可以这样:WinExec(“command/CdirC:\>dir.txt”,SW_HIDE);system

  • 探秘Java中的String、StringBuilder以及StringBuffer

    探秘Java中的String、StringBuilder以及StringBuffer探秘Java中String、StringBuilder以及StringBuffer相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一

  • 浏览器清理缓存的几种方法

    浏览器清理缓存的几种方法一.为什么使用缓存简单的说,就是为了让页面加载的更快一点,通过将部分静态资源保存到本地这种方式,从而减少网络请求,提升用户体验的一种手段。二.使用缓存有什么弊端凡事有利必有弊,缓存也是。使用缓存

  • 阿里云服务器怎么更换系统盘

    阿里云服务器怎么更换系统盘

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号