show-loading.uvue 2.3 KB
Newer Older
Y
yurj26 已提交
1 2 3
<template>
    <view>
        <page-head :title="title"></page-head>
杜庆泉's avatar
杜庆泉 已提交
4 5
		<view class="uni-list">
		  <view class="uni-list-cell uni-list-cell-pd">
杜庆泉's avatar
杜庆泉 已提交
6
		    <view class="uni-list-cell-db">是否显示透明蒙层-屏蔽点击事件</view>
杜庆泉's avatar
杜庆泉 已提交
7 8 9 10 11 12 13
		    <switch :checked="maskSelect" @change="maskChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">超长标题</view>
		    <switch :checked="titleSelect" @change="titleChange"/>
		  </view>
		</view>
Y
yurj26 已提交
14 15
        <view class="uni-padding-wrap">
            <view class="uni-btn-v">
杜庆泉's avatar
杜庆泉 已提交
16
                <button class="uni-btn-v" type="primary" @click="showLoading">显示 loading 提示框</button>
Y
yurj26 已提交
17
                <!-- #ifndef MP-ALIPAY -->
杜庆泉's avatar
杜庆泉 已提交
18
                <button class="uni-btn-v" @click="hideLoading">隐藏 loading 提示框</button>
Y
yurj26 已提交
19 20 21 22 23 24 25 26 27
                <!-- #endif -->
            </view>
        </view>
    </view>
</template>
<script lang="ts">
    export default {
        data() {
            return {
杜庆泉's avatar
杜庆泉 已提交
28 29 30
                title: 'loading',
				maskSelect:false,
				titleSelect:false
Y
yurj26 已提交
31 32 33
            }
        },
        methods: {
杜庆泉's avatar
杜庆泉 已提交
34 35 36 37 38 39
			maskChange: function (e : SwitchChangeEvent) {
				this.maskSelect = e.detail.value
			},
			titleChange: function (e : SwitchChangeEvent) {
				this.titleSelect = e.detail.value
			},
Y
yurj26 已提交
40
            showLoading: function() {
杜庆泉's avatar
杜庆泉 已提交
41 42 43 44 45 46 47 48 49 50 51
				
				let titleVal = "三秒后自动关闭"
				if(this.titleSelect){
					titleVal = "超长文本内容,测试超出范围-超长文本内容,测试超出范围"
				}
                
				
				uni.showLoading({
				    title: titleVal,
					mask:this.maskSelect
				});
Y
yurj26 已提交
52 53 54 55 56 57 58

                // #ifdef MP-ALIPAY
                this._showTimer && clearTimeout(this._showTimer);
                this._showTimer = setTimeout(() => {
                    this.hideLoading();
                }, 3000)
                // #endif
杜庆泉's avatar
杜庆泉 已提交
59 60 61 62 63
				// #ifdef APP-PLUS
				setTimeout(function() {
					this.hideLoading();
				}, 3000);
				// #endif
Y
yurj26 已提交
64 65 66 67 68 69 70 71
            },
            hideLoading: function() {
                uni.hideLoading();
            }
        }
        // #ifdef MP-ALIPAY
        ,
        onUnload() {
杜庆泉's avatar
杜庆泉 已提交
72
			// 页面卸载的时候,手动关闭loading
Y
yurj26 已提交
73 74 75 76 77
            this._showTimer && clearTimeout(this._showTimer);
        }
        // #endif
    }
</script>