EmberJS - 如何使用Pikaday输入更新dateFrom Query Param

时间:2017-11-17 09:37:50

标签: javascript ember.js pikaday

我正在使用ember-pikaday插件的以下输入:

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

我无法获取输入的值来更新URL中的查询参数。如果我使用标准输入,它可以使用以下控制器:

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;
    }
   }
  }
});

我怀疑在选择日期时我需要一个动作,但我不知道如何在动作中处理更新。我尝试了以下方法:

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

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

但它没有在URL中表示。我认为无论如何这都是不正确的范围。我对Ember(和编码)仍然很新。任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:0)

他们在这里提到了如何使用这个包, https://github.com/edgycircle/ember-pikaday#usage

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

在您的情况下,您需要将所选值从pikaday输入更新为控制器的dateFrom属性。

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

在控制器动作哈希中定义动作,

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