美文网首页
微信小程序loading全操作

微信小程序loading全操作

作者: 5cc9c8608284 | 来源:发表于2022-05-21 09:56 被阅读0次

    微信小程序的loading有三两种形式的显示:
    1.组件形式 : <loading>
    2.动态形式 :showTaost,showLoading
    案例代码:
    loading.wxml

    <view class="container">
    <view class="item">
    <!-- 组件loading -->
    <button bindtap="show" type="primary">控制loading组件</button>
        <loading hidden="{{isShow}}">加载中...</loading>
    </view>
    <view class="item">
    <!-- 动态loading showTaost -->
    <button bindtap="toast" type="primary">控制动态toast组件</button>
        <loading hidden="{{isShow}}">加载中...</loading>
    </view>
    <view class="item">
    <!-- 动态loading showLoading -->
    <button bindtap="showloading" type="primary">控制动态loading组件</button>
        <loading hidden="{{isShow}}">加载中...</loading>
    </view>
    </view>
    

    loading.wxss

    /* pages/loading/loading.wxss */
    .item{
        width: 90%;
        padding: 10rpx;
        background-color: white;
        border-radius: 18rpx;
        text-align: center;
        font-weight: bold;
        margin: 10rpx 0;
    }
    

    loading.js

    // pages/loading/loading.js
    Page({
    
        /**
         * 页面的初始数据
         */
        data: {
            isShow:true
        },
        showloading(){
            wx.showLoading({
                title:'加载中',
                mask:true,
                success(res){
                    console.log(res);
                }
            })
            // 两秒之后关闭loading
            setTimeout(()=>{
                wx.hideLoading({
                  success: (res) => {},
                })
            },2000)
        },
        toast(){
            wx.showToast({
                title:'加载中...',
                icon:'loading',
                // duration:3000,//这里如果不设置的话,可以用wx.hideToast来隐藏
                mask:true,
                success(res){
                    console.log(res,'showsuccess');
                }
            })
            // 2秒之后关闭toast
            setTimeout(this.closeToast,2000)
        },
        // 关闭toast
        closeToast(){
            wx.hideToast({
                success(){
                    console.log('success close');
                }
            })
        },
        // 控制loading组件
        show(){
            var that=this
            this.setData({
                isShow:!that.data.isShow
            })
            // 这里可以是一个网络请求,等请求成功之后关闭loading,我用定时器模拟
            setTimeout(()=>{
                this.setData({
                    isShow:true 
                })
            },2000)
        },
    })
    

    实现的效果如下:


    loading.png

    第一个按钮这里采用loading组件实现的,在实际开发中我们在发起一个网络请求的时候开启一个loading,等获取到数据以后再把loading关闭即可

    相关文章

      网友评论

          本文标题:微信小程序loading全操作

          本文链接:https://www.haomeiwen.com/subject/aahkprtx.html