ionic公用弹框、提示框封装
1.baseui.ts
import { LoadingController, ToastController } from '@ionic/angular';
import { NavController } from '@ionic/angular';export abstract class BaseUI {public loadingIsOpen: any = false;constructor() {}/*** loading加载页面* @param {LoadingController} loadingCtrl* @param {string} message* @returns {Loading}* @memberof BaseUI*/protected async showLoading(loadingCtrl: LoadingController,message: string) {const loader = await loadingCtrl.create({message: message});await loader.present();return loader;}/*** Toast全局提示* @param {ToastController} toastCtrl* @param {string} message* @returns {toast}* @memberof BaseUI*/protected async showToast(toastCtrl: ToastController, message: string) {const toast = await toastCtrl.create({message: message,duration: 2000, // 默认展示的时长position: 'top'});await toast.present();return toast;}/*** 返回上一页*/protected async backLastPage(navCtrl: NavController) {navCtrl.back();}//loading加载async show(loadingCtrl: LoadingController) {this.loadingIsOpen = true;return await loadingCtrl.create({duration: 7000,message: "请稍后···"}).then(a => {a.present().then(() => {if (!this.loadingIsOpen) {a.dismiss()}});});}//loading结束async hide(loadingCtrl: LoadingController) {if (this.loadingIsOpen == true) {this.loadingIsOpen = false;return await loadingCtrl.dismiss();}}// 日期格式化方法dateFormat(fmt, date) {let ret;let opt = {"Y+": date.getFullYear().toString(), // 年"m+": (date.getMonth() + 1).toString(), // 月"d+": date.getDate().toString(), // 日"H+": date.getHours().toString(), // 时"M+": date.getMinutes().toString(), // 分"S+": date.getSeconds().toString() // 秒// 有其他格式化字符需求可以继续添加,必须转化成字符串};for (let k in opt) {ret = new RegExp("(" + k + ")").exec(fmt);if (ret) {fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))};};return fmt;}}
2.页面使用
import { BaseUI } from '../../api/baseui';
export class LoginPage extends BaseUI{ }
constructor(public toast: ToastController, public loadingCtrl: LoadingController,) {super();}
login(){super.showToast(this.toast, '密码格式为数字或字母~');
}
goSubmit(){super.show(this.loadingCtrl);super.hide(this.loadingCtrl);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
