Как установить текстовое поле для сообщения о предупреждении в диалоговом окне предупреждения в Ionic 2? - PullRequest
0 голосов
/ 14 мая 2018

Я получаю push-уведомление с помощью Firebase и показываю его в окне предупреждения.Теперь я хочу отобразить сообщение, которое я получил, в текстовом поле, чтобы пользователь мог редактировать сообщение. Я также хочу вывести сообщение в консоли.

pushObject.on('notification').subscribe((notification: any) => {
  if (notification.additionalData.foreground) {
    let youralert = this.alertCtrl.create({
      title: 'New Push notification',
      message: notification.message,
      buttons: [
        {
          text: 'Cancel',
          role: 'cancel',
          handler: () => {
           console.log('Cancel clicked');
          }
        },
        {
          text: 'Okay',
          handler: () => {
            console.log('Okay clicked');
          }
        }
      ]
    });

1 Ответ

0 голосов
/ 14 мая 2018

В интерфейсе Alert есть свойство inputs, оно работает почти так же, как buttons. Это массив объектов, и у вас есть свойство input value для установки желаемого значения.

Поскольку я не знаю, куда вы хотите записать ваше значение, и если это значение, полученное с сервера или отредактированное значение, я покажу оба.

pushObject.on('notification').subscribe((notification: any) => {
  if (notification.additionalData.foreground) {
    console.log('push message', notification.message);
    let youralert = this.alertCtrl.create({
      title: 'New Push notification',
      inputs: [{
        placeholder: 'Your placeholder..',
        type: 'text',
        name: 'yourInputName, // Name to get it in your handler callback
        value: notification.message
      }],
      message: notification.message,
      buttons: [
        {
          text: 'Cancel',
          role: 'cancel',
          handler: () => {
           console.log('Cancel clicked');
          }
        },
        {
          text: 'Okay',
          // you'll need to get the input data, so pass a parameter to the callback
          handler: (data) => {
            // here's the value user has edited in the input
            console.log('Edited message', data.yourInputName);
            console.log('Okay clicked');
          }
        }
      ]
    });

Надеюсь, это поможет

...