2017-11-17 18 views
0

Ich bin mit der folgenden Eingabe von dem ember-pikaday Addon aktualisieren:EmberJS - Wie datefrom Abfrage Param mit Pikaday Eingang

<div class="col-sm-3"><label>Date From:</label>{{pikaday-input value=dateFrom name="dateFrom" class="form-control"}}</div> 

Ich kann nicht den Wert der Eingabe zu aktualisieren, um die Abfrage-Parameter in der URL. Wenn ich eine Standardeingabe verwende Sie sich mit den folgenden Controller funktioniert:

import Controller from '@ember/controller'; 

export default Controller.extend({ 

queryParams: ['dateFrom', 'dateTo', 'unitNumber'], 
dateFrom: null, 
dateTo: null, 
unitNumber: null, 

    actions: { 
    selected(x){ 
     module = x 
    }, 

    submitQuery(dateFrom, dateTo, unitNumber){ 
     switch(module) { 
      case 'Option 1': 
      this.transitionToRoute('option1', {queryParams: {dateFrom: this.get('dateFrom'), dateTo: this.get('dateTo'), unitNumber: this.get('unitNumber') }}) 
     break; 
    } 
    } 
    } 
}); 

Ich vermute, ich brauche eine Aktion, wenn ein Datum ausgewählt, aber ich weiß nicht, wie Sie das Update innerhalb der Aktion zu behandeln. Ich habe folgendes versucht:

//onSelection=(action 'select') added to pikday input 

select() { 
    dateFrom = this.set('dateFrom') 
} 

Aber es nicht in der URL dargestellt. Ich denke, das wäre sowieso falsches Scoping. Ich bin immer noch sehr neu in Ember (und Codierung). Jede Hilfe wäre sehr willkommen.

Antwort

0

Hier werden sie erwähnt, wie dieses Paket zu verwenden, https://github.com/edgycircle/ember-pikaday#usage

{{pikaday-input onSelection=(action 'doSomethingWithSelectedValue')}} 

In Ihrem Fall müssen Sie den ausgewählten Wert von pikaday Eingang dateFrom Eigenschaft des Controllers aktualisieren.

{{pikaday-input value=dateFrom name="dateFrom" class="form-control" onSelection=(action 'onChangeDateFrom') }} 

definieren Aktionen in den Controller-Aktionen Hash,

onChangeDateFrom(selectedValue) 
{ 
this.set('dateFrom',selectedValue); 
} 
+0

Dank für Ihre Antwort danken, ich das gewählten Wert Argument völlig verfehlt. Die URL wird korrekt aktualisiert, hat jedoch eine lange Form (Thu% 20Nov% 2002% 202017% 2000% 3A00% 3A00% 20GMT% 2B0000% 20 (GMT% 20Standard% 20Time)). Ich muss das ändern lassen! Markierte die Antwort als richtig :) – Sorvah

+0

Sie können es so formatieren, wie Sie wollen, Sie können sogar Momentformatierung in der Weise verwenden, wie der Server akzeptiert. – kumkanillam