首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在提示报警中选择时间ionic-2

在提示报警中选择时间ionic-2
EN

Stack Overflow用户
提问于 2016-12-21 20:44:17
回答 2查看 8.2K关注 0票数 2

我对ionic-2不熟悉。我正在开发一个应用程序,用户必须创建警报。为此,我创建了一个页面。该页面包含一个'+‘按钮。单击该按钮时,将出现提示警报。到目前为止,该提示警报有一个文本框和ok按钮。但是,我需要显示一个datetime选择器,而不是这样。我该怎么做呢?有什么帮助吗?

代码语言:javascript
复制
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();
  }
}
EN

回答 2

Stack Overflow用户

发布于 2016-12-21 21:22:11

对于日期选择器,您可能只需将type = 'date'添加到您的input对象(在inputs中)

代码语言:javascript
复制
inputs: [
        {
          name: 'title',
          placeholder: 'Title',
          type: 'date'
        },
      ],

但这不是HH24:mm格式的,所以它将是一个日期选择器...

正如Mike Harringtonthis issue上的回答中所说,警报的最终目标不是为了做这些事情。

但由于导航堆栈在页面顶部堆叠了一个模式,因此当用户按下按钮/关闭页面时,您可以只创建一个模式 (docs),对其进行一些填充,设置rgba(0,0,0,0.85)的背景,并使用数据关闭模式(或者调用服务,但不确定您的用法)。

所以,如果你创建了一个选择器为page1的名为Page1的子页面(带有时间选择器),你只需添加下面的css:

代码语言:javascript
复制
page1.modal {
    padding: 30px;
    background: rgba(0,0,0,0.5);
}

然后创建页面的模式,如下所示

代码语言:javascript
复制
import { ModalController } from 'ionic/angular';
import { Page1 } from './page1.component';
.......

constructor(public modalCtrl: ModalController) { ... }

showModal() {
   let timepickModal = this.modalCtrl.create(Page1);
   timepickModal.present();
}

.....

来自Custom Modal Alert with HTML Form的CSS和图像

编辑

如果你想把数据从第二个页面(模式)传递到第一个页面(父页面),你可以使用ionic的Events (我最喜欢的组件之一)

父页面:(在ngOnInitconstructor F.E.中)

代码语言:javascript
复制
events.subscribe('time:created', time) => {
  // time is passed from modal to here, add it to list.
  myTimeList.push(time);
});

模式页面:(选择时间/提交值后)

代码语言:javascript
复制
events.publish('time:created', someObjectHoldingTime);

(导入:import { Events } from 'ionic/angular';)

票数 10
EN

Stack Overflow用户

发布于 2016-12-21 21:10:43

代码语言:javascript
复制
inputs: [
        {
          type: 'date',
          name: 'title',
          placeholder: 'Title'
        },
      ]

似乎可以在浏览器中工作。您可以尝试使用cssClass属性来调整它。不过,我会选择popover

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41263123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档