ionic3 UI Components学习2:Alerts 警报

2023-10-28 16:59

本文主要是介绍ionic3 UI Components学习2:Alerts 警报,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.Alerts 警报概述

警报是向用户提供选择特定动作或动作列表的好方法。他们还可以向用户提供重要信息,或要求他们作出决定(或多项决定)。

从用户界面的角度来看,警报可以被认为是一种只覆盖屏幕一部分的“浮动”模式。这意味着警报只能用于快速操作,如密码验证,小应用程序通知或快速选项。更深入的用户流应该保留在全屏模式下。

警报非常灵活,并且可以轻松定制。

2.Basic Alerts 基本警报

基本警报通常用于通知用户有关新信息(应用程序中的更改,新功能等),需要确认的紧急情况或向用户确认操作成功与否的信息。Demo 源代码
图片描述

图片描述

import { AlertController } from 'ionic-angular';export class MyPage {constructor(public alertCtrl: AlertController) {}showAlert() {let alert = this.alertCtrl.create({title: 'New Friend!',subTitle: 'Your friend, Obi wan Kenobi, just accepted your friend request!',buttons: ['OK']});alert.present();}
}

3.Prompt Alerts 提示警报

提示提供了一种输入数据或信息的方式。在向前移动应用程序的流程之前,通常会使用提示来询问用户密码。Demo 源代码
图片描述
图片描述

import { AlertController } from 'ionic-angular';export class MyPage {constructor(public alertCtrl: AlertController) {}showPrompt() {let prompt = this.alertCtrl.create({title: 'Login',message: "Enter a name for this new album you're so keen on adding",inputs: [{name: 'title',placeholder: 'Title'},],buttons: [{text: 'Cancel',handler: data => {console.log('Cancel clicked');}},{text: 'Save',handler: data => {console.log('Saved clicked');}}]});prompt.present();}
}

4.Confirmation Alerts 确认警报

确认警报用于需要用户在应用程序前进前明确确认特定选项。确认警报的一个常见示例是检查以确保用户想要从其地址簿中删除或删除联系人。Demo 源代码
图片描述
图片描述

import { AlertController } from 'ionic-angular';export class MyPage {constructor(public alertCtrl: AlertController) {}showConfirm() {let confirm = this.alertCtrl.create({title: 'Use this lightsaber?',message: 'Do you agree to use this lightsaber to do good across the intergalactic galaxy?',buttons: [{text: 'Disagree',handler: () => {console.log('Disagree clicked');}},{text: 'Agree',handler: () => {console.log('Agree clicked');}}]});confirm.present();}
}

5.Radio Alerts 单选警报

单选警报是一种确认警报,使用单选警报组件提供多种选择。向用户提供一组选项,但只能选择一个选项。Demo 源代码
图片描述
图片描述

import { AlertController } from 'ionic-angular';export class MyPage {constructor(public alertCtrl: AlertController) {}showRadio() {let alert = this.alertCtrl.create();alert.setTitle('Lightsaber color');alert.addInput({type: 'radio',label: 'Blue',value: 'blue',checked: true});alert.addButton('Cancel');alert.addButton({text: 'OK',handler: data => {this.testRadioOpen = false;this.testRadioResult = data;}});alert.present();}
}

6.CheckboxAlerts 复选框警报

复选框警报是一种确认警报,使用复选框组件可提供多种选择。它们为用户提供了一系列可供选择的选项。Demo 源代码
图片描述
图片描述

import { AlertController } from 'ionic-angular';export class MyPage {constructor(public alertCtrl: AlertController) {}showCheckbox() {let alert = this.alertCtrl.create();alert.setTitle('Which planets have you visited?');alert.addInput({type: 'checkbox',label: 'Alderaan',value: 'value1',checked: true});alert.addInput({type: 'checkbox',label: 'Bespin',value: 'value2'});alert.addButton('Cancel');alert.addButton({text: 'Okay',handler: data => {console.log('Checkbox data:', data);this.testCheckboxOpen = false;this.testCheckboxResult = data;}});alert.present();}
}

7.AlertController API文档

警报是一个对话框,向用户显示信息或使用输入从用户收集信息。警报会显示在应用程序内容的顶部,并且必须先由用户手动解除,然后才能恢复与应用程序的交互。它也可以有一个 title,subTitle和message。

您可以在create方法的第一个参数中传递所有警报的选项:create(opts)。否则,警报的实例会添加方法来添加选项,如setTitle()或addButton()。

7.1 Alert Buttons

在buttons的数组中,每个按钮都包含它的属性text,也可以包含一个handler。如果处理程序返回false,则在点击按钮时不会自动解除警报。所有按钮将按照buttons 从左到右添加到数组的顺序显示。注意:最右边的按钮(数组中的最后一个按钮)是主按钮。

或者,role可以将属性添加到按钮,例如cancel。如果一个cancel角色位于其中一个按钮上,那么如果通过点击背景幕来解除警报,那么它将从具有取消角色的按钮中触发处理程序。

7.2 Alert Inputs

警报还可以包括几个不同的输入,其数据可以传回给应用程序。输入可用作提示用户提供信息的简单方法。Radios, checkboxes 和text 输入都被接受,但不能混用。例如,警报可能包含所有单选按钮输入或所有复选框输入,但同一警报不能混合收音机和复选框输入。不过,别注意,不同类型的“正文”,”输入可以混合使用,如url,email,text,等。如果您需要的不适合的警报那么我们建议构建一个modal 的形式指引的范围内复杂的表单UI代替。

7.3用法

import { AlertController } from 'ionic-angular';constructor(private alertCtrl: AlertController) {}presentAlert() {let alert = this.alertCtrl.create({title: 'Low battery',subTitle: '10% of battery remaining',buttons: ['Dismiss']});alert.present();
}presentConfirm() {let alert = this.alertCtrl.create({title: 'Confirm purchase',message: 'Do you want to buy this book?',buttons: [{text: 'Cancel',role: 'cancel',handler: () => {console.log('Cancel clicked');}},{text: 'Buy',handler: () => {console.log('Buy clicked');}}]});alert.present();
}presentPrompt() {let alert = this.alertCtrl.create({title: 'Login',inputs: [{name: 'username',placeholder: 'Username'},{name: 'password',placeholder: 'Password',type: 'password'}],buttons: [{text: 'Cancel',role: 'cancel',handler: data => {console.log('Cancel clicked');}},{text: 'Login',handler: data => {if (User.isValid(data.username, data.password)) {// logged in!} else {// invalid loginreturn false;}}}]});alert.present();
}

7.4 Instance Members 实例成员

显示带有标题,输入和按钮的警报

ParamTypeDetails
optsAlertOptionsA警报。见下表

7.5 Advanced 高级用法

警报选项

PropertyTypeDescription
titlestring警报的标题。
subTitlestring警报的副标题。
messagestring警报消息。
cssClassstring自定义样式的其他类,以空格分隔。
inputsarray警报的输入数组。请参阅输入选项。
buttonsarray警报的一组按钮。看按钮选项。
enableBackdropDismissboolean是否应该通过点击背景来解除警报。默认为true。

输入选项

PropertyTypeDescription
typestring输入的类型应该是:text,tel,number等。
namestring输入的名称。
placeholderstring输入的占位符(用于文本/数字输入)
valuestring输入的值。
labelstring输入的标签(仅用于单选/复选框输入)
checkedboolean是否检查输入。
idstring输入的ID。

按钮选项

PropertyTypeDescription
textstring按钮显示的文本。
handlerany按下按钮时执行的方法
cssClassstring该按钮的附加CSS类。
rolestring按钮角色,null或cancel。

7.6 Dismissing And Async Navigation 解除和异步导航

警报解除后,应用程序可能还需要根据处理程序的逻辑过渡到另一个页面。但是,由于多个转换大致同时发生,因此导航控制器难以清晰地动画化可能异步启动的多个转换。这部分将进一步描述 Nav Transition Promises。对于警报,这意味着最好等待警报在同一导航控制器上开始新的转换之前完成其转换。

在下面的例子中,在警告按钮被点击之后,它的处理程序等待异步操作完成,然后它用于pop在同一个堆栈中导航回页面。潜在的问题是异步操作可能在警报甚至完成其转换之前已经完成。在这种情况下,最好确保警报先完成其转换,然后开始下一个转换。

let alert = this.alertCtrl.create({title: 'Hello',buttons: [{text: 'Ok',handler: () => {// user has clicked the alert button// begin the alert's dismiss transitionlet navTransition = alert.dismiss();// start some async methodsomeAsyncOperation().then(() => {// once the async operation has completed// then run the next nav transition after the// first transition has finished animating outnavTransition.then(() => {this.nav.pop();});});return false;}}]
});alert.present();

注意处理程序返回false很重要。按钮处理程序的一个功能是,当按钮被点击时,它们会自动关闭警报,但是,我们需要对转换进行更多控制。因为处理程序返回false,所以警报不会自动关闭。相反,您现在可以完全控制警报何时完成过渡,并且能够在开始新过渡之前等待警报完成过渡。

7.7 Sass Variables 变量

All

PropertyDefaultDescription
$alert-min-width250px警报的最小宽度
$alert-max-height90%警报的最大高度
$alert-button-line-height20px警报按钮的行高
$alert-button-font-size14px警报按钮的字体大小
$alert-input-placeholder-color#999警报输入占位符的颜色

iOS和Material Design 的 Sass Variables请点击这里

这篇关于ionic3 UI Components学习2:Alerts 警报的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294655

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件