操作表控制器
操作表是一个对话框,可让用户从一组选项中进行选择。它会显示在应用内容的顶部,并且必须在用户恢复与应用的互动之前由用户手动关闭。危险(破坏性)选项在ios模式下显而易见。有很多方法可以取消操作页面,例如点击背景幕或在桌面上点击转义键。
从一个按钮数组创建一个操作表,每个按钮包括其文本的属性,以及可选的处理程序和角色。如果处理程序返回false,则不会关闭操作工作表。操作表还可以选择具有标题,子标题和图标。
按钮的角色属性可能是破坏性的或取消的。没有角色属性的按钮将具有该平台的默认外观。具有取消角色的按钮将始终作为底部按钮加载,无论它们在阵列中的位置。所有其他按钮将按照它们添加到按钮阵列的顺序显示。注意:我们建议破坏性按钮始终是阵列中的第一个按钮,使其成为顶部按钮。另外,如果通过点击背景来解除操作表,那么它将从具有取消角色的按钮触发处理程序。
您可以在create方法的第一个参数中传递所有操作工作表的选项:ActionSheet.create(opts)。否则,操作表的实例有添加选项的方法,如setTitle()或addButton()。
使用
import { ActionSheetController } from 'ionic-angular'
export class MyClass{
constructor(public actionSheetCtrl: ActionSheetController) {}
presentActionSheet() {
let actionSheet = this.actionSheetCtrl.create({
title: 'Modify your album',
buttons: [
{
text: 'Destructive',
role: 'destructive',
handler: () => {
console.log('Destructive clicked');
}
},
{
text: 'Archive',
handler: () => {
console.log('Archive clicked');
}
},
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
}
]
});
actionSheet.present();
}
}
效果:
静态成员
config
create(opts)
打开一个带有标题,子标题和一系列按钮的动作表
参数 | 类型 | 详情 |
---|---|---|
opts | ActionSheetOptions |
操作表选项 |
高级
ActionSheet创建选项
选项 | 类型 | 描述 |
---|---|---|
title | string |
操作表的标题 |
subTitle | string |
操作表的子标题 |
cssClass | string |
用空格隔开的自定义样式的其他类。 |
enableBackdropDismiss | boolean |
如果用户点击背景幕时动作片应该关闭。 |
buttons | array<any> |
一系列按钮来显示。 |
ActionSheet 按钮选项
选项 | 类型 | 描述 |
---|---|---|
text | string |
按钮文字 |
icon | icon |
按钮的图标 |
handler | any |
表示按钮应该评估。 |
cssClass | string |
用空格隔开的自定义样式的其他类。 |
role | string |
按钮应该如何显示,destructiveorcancel。 如果没有提供角色,它将显示按钮,而不需要任何其他样式。 |
取消和异步导航
在一个动作表被关闭后,应用程序可能还需要根据处理程序的逻辑转换到另一个页面。 然而,由于在大致相同的时间触发了多个转换,导航控制器很难对可能异步启动的多个转换进行动画生成动画。 这在Nav Transition Promises部分进一步描述。 对于动作单,这意味着在同一导航控制器开始新的转换之前,最好等待动作单完成转换。
在下面的示例中,在按钮被单击之后,其处理程序等待异步操作完成,然后使用pop来浏览同一堆栈中的页面。 潜在的问题是异步操作可能已经在操作表甚至完成转换之前已经完成。 在这种情况下,最好确保操作表首先完成过渡,然后开始下一个转换。
let actionSheet = this.actionSheetCtrl.create({
title: 'Hello',
buttons: [{
text: 'Ok',
handler: () => {
// user has clicked the action sheet button
// begin the action sheet's dimiss transition
let navTransition = actionSheet.dismiss();
// start some async method
someAsyncOperation().then(() => {
// once the async operation has completed
// then run the next nav transition after the
// first transition has finished animating out
navTransition.then(() => {
this.nav.pop();
});
});
return false;
}
}]
});
actionSheet.present();
请注意,处理程序返回false。 按钮处理程序的一个功能是当他们点击按钮时自动关闭操作工作表,但是我们需要更多的关于转换的控制。 因为处理程序返回false,所以操作表不会自动关闭。 相反,您现在可以完全控制操作表完成转换的时间,以及在开始新的转换之前等待操作表完成转换的功能。
Sass 变量
All
属性 | 默认值 | 描述 |
---|---|---|
$action-sheet-width |
100% |
操作表的宽度 |
$action-sheet-max-width |
500px |
操作表的最大宽度 |
Sass Variables
iOS
属性 | 默认值 | 描述 |
---|---|---|
$action-sheet-ios-text-align |
center |
操作表的对齐方式 |
$action-sheet-ios-padding |
0 10px |
操作表 Padding |
$action-sheet-ios-group-margin-bottom |
10px |
操作表按钮组的底部边距 |
$action-sheet-ios-background |
#f9f9f9 |
操作表的背景颜色 |
$action-sheet-ios-border-color |
#d6d6da |
操作表的边框颜色 |
$action-sheet-ios-border-radius |
13px |
操作表的边界半径 |
$action-sheet-ios-title-padding |
1.5rem |
操作表标题的 Padding |
$action-sheet-ios-title-color |
#8f8f8f |
操作表标题的颜色 |
$action-sheet-ios-title-font-size |
1.3rem |
操作表标题的文字大小 |
$action-sheet-ios-title-font-weight |
400 |
Font weight of the action sheet title |
$action-sheet-ios-title-border-radius |
0 |
Border radius of the action sheet title |
$action-sheet-ios-button-min-height |
5.6rem |
Minimum height of the action sheet button |
$action-sheet-ios-button-padding |
18px |
Padding of the action sheet button |
$action-sheet-ios-button-text-color |
#007aff |
Text color of the action sheet button |
$action-sheet-ios-button-font-size |
2rem |
Font size of the action sheet button |
$action-sheet-ios-button-border-width |
$hairlines-width |
Border width of the action sheet button |
$action-sheet-ios-button-border-style |
solid |
Border style of the action sheet button |
$action-sheet-ios-button-border-color |
#d1d3d6 |
Border color of the action sheet button |
$action-sheet-ios-button-background |
transparent |
Background color of the action sheet button |
$action-sheet-ios-button-background-activated |
#ebebeb |
Background color of the activated action sheet button |
$action-sheet-ios-button-destructive-text-color |
#f53d3d |
Destructive text color of the action sheet button |
$action-sheet-ios-button-cancel-background |
#fff |
Background color of the action sheet cancel button |
$action-sheet-ios-button-cancel-font-weight |
600 |
Font weight of the action sheet cancel button |
Material Design
属性 | 默认值 | 描述 |
---|---|---|
$action-sheet-md-text-align |
left |
Text align of the action sheet |
$action-sheet-md-background |
#fafafa |
Background color of the action sheet |
$action-sheet-md-group-margin-bottom |
8px |
Bottom margin of the action sheet button group |
$action-sheet-md-title-color |
#757575 |
Color of the action sheet title |
$action-sheet-md-title-font-size |
1.6rem |
Font size of the action sheet title |
$action-sheet-md-title-padding |
11px 16px 17px |
Padding of the action sheet title |
$action-sheet-md-button-min-height |
4.8rem |
Minimum height of the action sheet button |
$action-sheet-md-button-text-color |
#222 |
Text color of the action sheet button |
$action-sheet-md-button-font-size |
1.6rem |
Font size of the action sheet button |
$action-sheet-md-button-padding |
0 16px |
Padding of the action sheet button |
$action-sheet-md-button-background |
transparent |
Background color of the action sheet button |
$action-sheet-md-button-background-activated |
#f1f1f1 |
Background color of the action sheet activated button |
$action-sheet-md-icon-font-size |
2.4rem |
Font size of the icon in the action sheet button |
$action-sheet-md-icon-width |
2.3rem |
Width of the icon in the action sheet button |
$action-sheet-md-icon-text-align |
center |
Text align of the icon in the action sheet button |
$action-sheet-md-icon-vertical-align |
middle |
Vertical align of the icon in the action sheet button |
$action-sheet-md-icon-margin |
0 32px 0 0 |
Margin of the icon in the action sheet button |
Windows Platform
属性 | 默认值 | 描述 |
---|---|---|
$action-sheet-wp-text-align |
left |
Text align of the action sheet |
$action-sheet-wp-background |
#fff |
Background color of the action sheet |
$action-sheet-wp-box-shadow-color |
rgba(0, 0, 0, .2) |
Box shadow color of the action sheet |
$action-sheet-wp-box-shadow |
0 -1px 0 $action-sheet-wp-box-shadow-color |
Box shadow of the action sheet |
$action-sheet-wp-title-padding |
11px 16px 17px |
Padding of the action sheet title |
$action-sheet-wp-title-font-size |
2rem |
Font size of the action sheet title |
$action-sheet-wp-title-color |
#4d4d4d |
Color of the action sheet title |
$action-sheet-wp-title-text-align |
$action-sheet-wp-text-align |
Text align of the action sheet title |
$action-sheet-wp-button-height |
4.8rem |
Height of the action sheet button |
$action-sheet-wp-button-text-color |
#4d4d4d |
Text color of the action sheet button |
$action-sheet-wp-button-font-size |
1.5rem |
Font size of the action sheet button |
$action-sheet-wp-button-padding |
0 16px |
Padding of the action sheet button |
$action-sheet-wp-button-text-align |
$action-sheet-wp-text-align |
Text align of the action sheet button |
$action-sheet-wp-button-background |
transparent |
Background color of the action sheet button |
$action-sheet-wp-button-background-activated |
$list-wp-activated-background-color |
Background color of the action sheet activated button |
$action-sheet-wp-icon-font-size |
2.4rem |
Font size of the icon in the action sheet button |
$action-sheet-wp-icon-width |
2.3rem |
Width of the icon in the action sheet button |
$action-sheet-wp-icon-text-align |
center |
Text align of the icon in the action sheet button |
$action-sheet-wp-icon-vertical-align |
middle |
Vertical align of the icon in the action sheet button |
$action-sheet-wp-icon-margin |
0 20px 0 0 |
Margin of the icon in the action sheet button |
相关
操作表组件文档