ionic自定义提示框

import { LoadingController, ToastController, AlertController } from '@ionic/angular';
import { Router } from '@angular/router';
export abstract class BaseUI {
    constructor() { }

    async showLoading(
        loadingController: LoadingController,
        message: string
    ) {
        const loading = await loadingController.create({
            message: message,
            // 延迟加载由2秒改为1秒
            duration: 1000
        });
        return await loading.present();
    }

    async showToast(
        toastController: ToastController,
        message: string
    ) {
        const toast = await toastController.create({
            message: message,
            position: 'bottom',
            duration: 2000
        });
        toast.present();
    }

    /**
     * Toast全局提示
     * @param {ToastController} toastCtrl
     * @param {string} message
     * @returns {toast}
     * @memberof BaseUI
     */
    protected async showTopToast(toastCtrl: ToastController, message: string) {
        const toast = await toastCtrl.create({
            cssClass: 'toastCss',
            message: message,
            duration: 1000,  // 默认展示的时长
            position: 'top', // 展示位置
            color: 'light' // 颜色:蓝色
        });
        await toast.present();
        return toast;
    }

    async presentAlert(
        alertController: AlertController,
        message: string
    ) {
        const alert = await alertController.create({
            header: '^_^温馨提示',
            message: message,
            buttons: ['确定']
        });
        await alert.present();
    }

    async presentAlertConfirm(
        alertController: AlertController,
        message: string,
        router?: Router,
        url?: string
    ) {
        const alert = await alertController.create({
            header: '^_^温馨提示',
            message: message,
            buttons: [
                {
                    text: '取消',
                    role: 'cancel',
                    cssClass: 'secondary',
                    handler: (blah) => {
                        console.log('Confirm Cancel: blah');
                    }
                }, {
                    text: '确定',
                    handler: () => {
                        if (url !== null && url !== undefined) {
                            router.navigateByUrl(url);
                        } else {
                            console.log('Confirm Okay');
                        }
                    }
                }
            ]
        });
        await alert.present();
    }
}
发布了103 篇原创文章 · 获赞 40 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/chenguanghan123/article/details/93231366