1、ActionSheet 官方文档:https://ionicframework.com/docs/api/action-sheet

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button defaultHref="/tabs/tab1"></ion-back-button>
</ion-buttons>
<ion-title>actionsheet</ion-title>
</ion-toolbar>
</ion-header> <ion-content padding> <ion-button (click)="showAction()">
弹出actionSheet
</ion-button>
</ion-content>
import { Component, OnInit } from '@angular/core';

import { ActionSheetController } from '@ionic/angular';

@Component({
selector: 'app-actionsheet',
templateUrl: './actionsheet.page.html',
styleUrls: ['./actionsheet.page.scss'],
})
export class ActionsheetPage implements OnInit { constructor(public actionSheetController: ActionSheetController) {} ngOnInit() {
} async showAction(){ const actionSheet = await this.actionSheetController.create({
header: '我是actionsheet的标题',
mode:'ios', /*修改action的平台*/
buttons: [{
text: '删除',
role: 'destructive',
icon: 'trash',
handler: () => {
console.log('Delete clicked');
}
}, {
text: '分享',
icon: 'share',
handler: () => {
console.log('Share clicked');
}
}, {
text: '收藏',
icon: 'heart',
handler: () => {
console.log('Favorite clicked');
}
}, {
text: '取消',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
}]
});
await actionSheet.present(); } }

2、Alert 官方文档:https://ionicframework.com/docs/api/alert

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button defaultHref="/tabs/tab1"></ion-back-button>
</ion-buttons>
<ion-title>alert</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<ion-button (click)="presentAlert()">
presentAlert
</ion-button>
<ion-button (click)="presentAlertMultipleButtons()">
确定要删除吗
</ion-button>
<ion-button (click)="presentAlertPrompt()">
alert放表单
</ion-button>
</ion-content>
import { Component, OnInit } from '@angular/core';

import { AlertController } from '@ionic/angular';

@Component({
selector: 'app-alert',
templateUrl: './alert.page.html',
styleUrls: ['./alert.page.scss'],
})
export class AlertPage implements OnInit { constructor(public alertController: AlertController) {} ngOnInit() {
} async presentAlert() {
const alert = await this.alertController.create({
header: '提示信息',
message: '你已经支付成功了...',
buttons: ['确认']
}); await alert.present();
} async presentAlertMultipleButtons() {
const alert = await this.alertController.create({
header: '提示信息!',
message: '您确定要删除吗?',
buttons: [
{
text: '取消',
role: 'cancel',
cssClass: 'secondary', //注意自定义class写在全局
handler: (blah) => {
console.log('Confirm Cancel: blah');
}
}, {
text: '确定',
handler: () => {
console.log('Confirm Okay');
}
}
]
}); await alert.present();
} async presentAlertPrompt() {
const alert = await this.alertController.create({
header: 'Prompt!',
inputs: [
{
name: 'name1',
type: 'text',
placeholder: 'Placeholder 1'
},
{
name: 'name2',
type: 'text',
id: 'name2-id',
value: 'hello',
placeholder: 'Placeholder 2'
},
{
name: 'name3',
value: 'http://ionicframework.com',
type: 'url',
placeholder: 'Favorite site ever'
},
// input date with min & max
{
name: 'name4',
type: 'date',
min: '2017-03-01',
max: '2018-01-12'
},
// input date without min nor max
{
name: 'name5',
type: 'date'
},
{
name: 'name6',
type: 'number',
min: -5,
max: 10
},
{
name: 'name7',
type: 'number'
}
],
buttons: [
{
text: 'Cancel',
role: 'cancel',
cssClass: 'secondary',
handler: () => {
console.log('Confirm Cancel');
}
}, {
text: 'Ok',
handler: (result) => { //获取表单输入的值
console.log(result);
}
}
]
}); await alert.present();
} }

3、Toast 官方文档:https://ionicframework.com/docs/api/toast

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button defaultHref="/tabs/tab1"></ion-back-button>
</ion-buttons>
<ion-title>toast</ion-title>
</ion-toolbar>
</ion-header> <ion-content padding> <ion-button (click)="presentToast()">
presentToast
</ion-button> <ion-button (click)="presentToastWithOptions()">
presentToastWithOptions
</ion-button> </ion-content>
import { Component, OnInit } from '@angular/core';

import { ToastController } from '@ionic/angular';
@Component({
selector: 'app-toast',
templateUrl: './toast.page.html',
styleUrls: ['./toast.page.scss'],
})
export class ToastPage implements OnInit {
constructor(public toastController: ToastController) {}
ngOnInit() {
} async presentToast() {
const toast = await this.toastController.create({
message: '登录成功',
duration: 2000,
position: 'middle',
color:'dark',
cssClass:'mytoast' /*cssClass必须写在全局*/
});
toast.present();
} async presentToastWithOptions() {
const toast = await this.toastController.create({
message: 'Click to Close',
showCloseButton: true,
position: 'top',
closeButtonText: 'Done'
});
toast.present();
} }

4、Loading 官方文档:https://ionicframework.com/docs/api/loading

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button defaultHref="/tabs/tab1"></ion-back-button>
</ion-buttons>
<ion-title>loading</ion-title>
</ion-toolbar>
</ion-header> <ion-content padding> <ion-button (click)="presentLoading()">
presentLoading
</ion-button> <ion-button (click)="presentLoadingWithOptions()">
presentLoadingWithOptions
</ion-button>
</ion-content>
import { Component, OnInit } from '@angular/core';

import { LoadingController } from '@ionic/angular';

@Component({
selector: 'app-loading',
templateUrl: './loading.page.html',
styleUrls: ['./loading.page.scss'],
})
export class LoadingPage implements OnInit {
constructor(public loadingController: LoadingController) {} ngOnInit() {
} async presentLoading() {
const loading = await this.loadingController.create({
message: '加载中...',
duration: 5000
});
await loading.present(); //事件
await loading.onDidDismiss();
// console.log({ role, data });
console.log('Loading dismissed!');
} async presentLoadingWithOptions() {
const loading = await this.loadingController.create({
// spinner: null,
duration: 5000, //延迟时间
message: '请等待...',
translucent: true, //半透明的
cssClass: 'custom-class custom-loading' //注意自定义样式要写在全局
});
return await loading.present();
} }

5、Ionic4 手势相关事件

详情参考:http://www.ionic.wang/article-index-id-155.html 1、首先需要安装 hammerjs

ionic4 中的 gestures 手势事件包括: tap, press, pan, swipe, rotate, and pinch events 等。详细使用方法参考:

详情参考:http://www.ionic.wang/article-index-id-155.html

1、首先需要安装 hammerjs

npm install hammerjs --save

2、在项目的 src/main.ts 中引入 hammerjs

import 'hammerjs';

3、在项目中使用

<ion-button (press)="doPress()">
长按触发的事件
</ion-button>
<ion-button (tap)="doTap()">
点击触发的事件
</ion-button>

说明:如果未来的 ionic4.x 版本可以直接使用手势事件的话忽略上面的安装引入过程。

<ion-header>
<ion-toolbar>
<ion-title>gestures</ion-title>
</ion-toolbar>
</ion-header> <ion-content padding> <ion-button (tap)="doTap()">
点击事件
</ion-button> <ion-button (press)="doPress()">
长按事件
</ion-button> <ion-list>
<ion-item>
<ion-label (press)="doPress()">衣服</ion-label>
</ion-item>
<ion-item>
<ion-label (press)="doPress()">鞋子</ion-label>
</ion-item> <ion-item>
<ion-label (press)="doPress()">女装</ion-label>
</ion-item>
</ion-list>
</ion-content>
import { Component, OnInit } from '@angular/core';

import { AlertController } from '@ionic/angular';
@Component({
selector: 'app-gestures',
templateUrl: './gestures.page.html',
styleUrls: ['./gestures.page.scss'],
})
export class GesturesPage implements OnInit { constructor(public alertController: AlertController) {} ngOnInit() {
}
doTap(){ console.log('tap tap ...')
} async doPress(){
const alert = await this.alertController.create({ backdropDismiss:false,
header: '提示',
message: '确定要删除吗!',
buttons: [
{
text: '取消',
role: 'cancel',
cssClass: 'secondary',
handler: (blah) => {
console.log('Confirm Cancel: blah');
}
}, {
text: '确定',
handler: () => {
console.log('Confirm Okay');
}
}
]
});
await alert.present(); }
}

Ionic4.x Javascript 扩展 ActionSheet Alert Toast Loading 以及 ionic 手势相 关事件的更多相关文章

  1. iOS Webview 实现修改javascript confirm 和 alert

    贴代码: @interface UIWebView (JavaScriptAlert) -(void) webView:(UIWebView *)sender runJavaScriptAlertPa ...

  2. Bootstrap Modal 框 alert confirm loading

    /** * Created by Administrator on 2016/5/4. */ /** * 模态窗口 */ window.Modal = { tpls:{ alert:'<div ...

  3. 扩展javascript扩展(类,对象,原型)

     扩展javascript扩展(类,对象,原型)

  4. Web前端——JavaScript扩展补充

    JS补充 document也是windows的一个子对象 a标签点击事件 要想设置点击a标签,执行某种方法,推荐在a标签的herf属性使用JavaScript伪协议,实现点击之后执行的js方法,而不是 ...

  5. JavaScript扩展原型链浅析

    前言 上文对原型和原型链做了一些简单的概念介绍和解析,本文将浅析一些原型链的扩展. javaScript原型和原型链 http://lewyon.xyz/prototype.html 扩展原型链 使用 ...

  6. vue中alert toast confirm loading 公用

    import Vue from 'vue' import { ToastPlugin, AlertPlugin, ConfirmPlugin, LoadingPlugin } from 'vux' / ...

  7. Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能

    <script src="Js/jquery-3.1.1.min.js"></script> <script type="text/java ...

  8. JavaScript 扩展运算符

    扩展运算符格式扩展运算符格式很简单,就是三个点(...) 扩展运算符作用???扩展运算符允许一个表达式在期望多个参数(用于函数调用)或多个元素(用于数组字面量)或多个变量(用于解构赋值)的位置扩展. ...

  9. JavaScript实现自定义alert弹框

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh0AAAFkCAYAAACEpYlzAAAfj0lEQVR4nO3dC5BddZ0n8F93pxOQCO

随机推荐

  1. CentOS 7的Linux系统优化加固

    1.关闭selinux 2.关闭防火墙 3.关闭NetworkManager 4.为系统运维管理员创建普通用户,并配置sudo(vi  sudo) 5.清空泄漏系统版本信息的文件 6.基础优化sshd ...

  2. git使用——忽略文件

    一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表. 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等.git下有2种方式实现忽略文件的目的.方法一 ...

  3. charles 手机证书下载安装

    本文参考:charles 手机证书下载安装 本文的Charles,适应windows/MAC/IOS/Android,避免抓包HTTPS失败和乱码: 用的版本是V4.1.2,其它版本原理类似: cha ...

  4. 《The One!》团队作业4:基于原型的团队项目需求调研与分析

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)体验以原型设计为基础的团队软件项目需求获取技巧与方法.(2)学习利用UML模 ...

  5. 网站添加logo图片

    网站添加log图片 第一种方法 这里使用的图片一般为16*16大小的图片 <link rel="shortcut icon" href="http://xxx.xx ...

  6. 泛型 System.Collections.Generic及泛型继承、运算符、结构、接口、方法、委托、事件、可空类型等

    一.定义泛型类 void Main() { //实例化泛型类时,才指定具体的类型 MyGenericClass<); Console.WriteLine(MyGeneri.InnerT1Obje ...

  7. 哇!吐槽!oh shit

    一个jsp写了5000行,我尼玛醉了,看晕了-2017年10月12日10:19:40

  8. 除了不要 SELECT * ,程序员使用数据库还应知道的11个技巧

    SQL:sum里加条件SELECT SUM( CASE WHEN "V7010" BETWEEN 0 AND 0.1 THEN 1 ELSE 0 END) FROM "C ...

  9. 删除TOMCAT服务器上的文件

    deleteFile(文件名称,路径名称); public boolean deleteFile(String filename,String filepath){  String path =Ser ...

  10. 学到了林海峰,武沛齐讲的Day14完

    全局变量和局部变量 局部里面定义 global name    ======将局部变量变成全局变量 nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止 有 ...