我是离子-2的新手.我正在开发一个应用程序,用户必须在其中创建警报.为此,我创建了一个页面.该页面包含一个"+"按钮.单击该按钮时,将显示提示警报.截至目前,该提示警报有一个文本框和确定按钮.但是,而不是我需要显示日期时间选择器.我怎样才能做到这一点?任何帮助?
my html file:
<ion-header>
<ion-navbar color="primary">
<ion-title>Alarm</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-fab right bottom>
<button ion-fab (click)="alarm()" color="vibrant" mini>
<ion-icon name="add"></ion-icon>
</button>
</ion-fab>
</ion-content>
my ts file:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AlertController } from 'ionic-angular';
@Component({
selector: 'page-wifi-controller-schedules',
templateUrl: 'wifi-controller-schedules.html'
})
export class AlarmsPage {
constructor(public navCtrl: NavController, public alertCtrl: AlertController) {}
alarm() {
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();
}
}
Run Code Online (Sandbox Code Playgroud)
对于一个日期选择器你可能只是添加type = 'date'
到你的input
对象(内inputs
)
inputs: [
{
name: 'title',
placeholder: 'Title',
type: 'date'
},
],
Run Code Online (Sandbox Code Playgroud)
但这不是HH24:mm
格式,因此它将是一个日期选择器...
就像Mike Harrington在这个问题的答案中所说,警报的最终目标不是做这些事情.
但由于导航堆栈在页面顶部堆叠模态,您可以创建一个模态(docs),给它一些填充,设置背景rgba(0,0,0,0.85)
并用你的数据关闭模态(或调用服务,不确定关于你的用例)当用户按下按钮/关闭页面时.
因此,如果您创建一个以选择器命名的子页面(使用时间选择器)Page1
,page1
您只需添加以下css:
page1.modal {
padding: 30px;
background: rgba(0,0,0,0.5);
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个页面模态
import { ModalController } from 'ionic/angular';
import { Page1 } from './page1.component';
.......
constructor(public modalCtrl: ModalController) { ... }
showModal() {
let timepickModal = this.modalCtrl.create(Page1);
timepickModal.present();
}
.....
Run Code Online (Sandbox Code Playgroud)
自定义模式警报和HTML表单中的 CSS和图像
编辑
如果要将数据从第二页(模态)传递到第一页(父级),可以使用ionic的事件(我最喜欢的组件之一)
父页面:(内ngOnInit
或constructor
fe)
events.subscribe('time:created', time) => {
// time is passed from modal to here, add it to list.
myTimeList.push(time);
});
Run Code Online (Sandbox Code Playgroud)
模态页面:(选择时间/提交值后)
events.publish('time:created', someObjectHoldingTime);
Run Code Online (Sandbox Code Playgroud)
(进口:import { Events } from 'ionic/angular';
)
归档时间: |
|
查看次数: |
6948 次 |
最近记录: |