我正在使用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(和编码)仍然很新。任何帮助都将非常感激。
答案 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);
}