2017-07-23 5 views
2

Als erstes benutze ich Ionic 3.x auf macOS.Ionic 2/3: Nummer Eingabe von Alarm

I haben das folgende Problem:

Ich habe ein Array eine Anzahl und eine Anordnung von Namen enthält.

table: { number: number, names: string[] } = { 
    number: 0, 
    names: [''] 
    }; 

Ich möchte die Nummer des Arrays mit einer Eingabe für den Benutzer festlegen. Ich stolperte über den AlertController.

ich die folgende Funktion Sache geschrieben haben eine Reihe hinzuzufügen:

addTable(){ 

    let prompt = this.alertCtrl.create({ 
     title: 'Add Table', 
     subTitle: 'Enter the table number', 
     inputs: [{ 
     name: 'tableNumber', 
     placeholder: 'Number', 
     type: 'number' 
     }], 
     buttons: [ 
     { 
      text: 'Cancel' 
     }, 
     { 
      text: 'Add', 
      handler: data => { 
      //this.tables.push(data); 
      this.table.number = data; 
      } 
     } 
     ] 
    }); 

    prompt.present(); 

    } 

Aber immer setzt table.number [object] zu widersprechen. Wenn ich es als this.table.number = + data schreibe; es hat den Wert NaN. Die Push-Version funktioniert auch nicht.

Wie lege ich table.number auf eine Zahl fest, die der Benutzer eingibt?

Vielen Dank für jede Hilfe!

Antwort

1

Der Name des Eingangs

name: 'tableNumber' 

wird als Eigenschaftsnamen zu dem erhaltenen Objekt hinzugefügt. Sie können darauf wie folgt zugreifen:

handler: data => { 
    this.table.number = data.tableNumber; 
} 
+0

Super! Es funktionierte! Danke für die schnelle Antwort :) –

+0

Gern geschehen! Achten Sie darauf, zu upvote, wenn Sie diese Antwort nützlich finden. – robbannn

+1

Das System hat es automatisch gemacht, sorry. Ich weiß nur, dass ich mehr als 15 Wiederholungen verdient habe. Davor darf man nicht abstimmen, also hat das System meine Stimme weggenommen. Jetzt wird es bleiben :) Danke nochmal! –