我正在尝试使用Power Select创建一个下拉菜单,当选择一个选项时,会创建该选项的属性查询参数。
我的大部分下拉框都在工作,但是当我设置了'conid'查询参数,无论我尝试什么,都会创建Param为?conID =%5Bobject%20Object%5D。
以下是当前的下拉菜单:
{{#power-select
placeholder="Select a Consultant"
searchPlaceholder="Select a Consultant"
selected="id"
searchField="name"
options=selectData
onchange=(action (mut conID))
as |selectData|
}}
{{selectData.name}}
{{/power-select}}
选项正确加载。我已经尝试过选择'的一些变体。价值包括
selected=selected
selected=selectData.id
selected="id"
没有成功。 selectData中的对象具有以下结构:
selectData [ {name: 'string', value: number}]
请注意,我可以使用原生选择框创建此功能,如下所示:
<select class="form-control" onchange={{action (mut coc) value="target.value"}}>
<option value="">- Select an Optionn -</option>
{{#each option as |option|}}
<option value="{{option.id}}">{{option.name}}</option>
{{/each}}
</select>
答案 0 :(得分:1)
你应该处理power-update事件的更新事件,以从所选power-select元素的JSON对象中获取id。您的template.hbs应该是:
{{#power-select
placeholder="Select a Consultant"
searchPlaceholder="Select a Consultant"
selected=selected
searchField="name"
options=selectData
onchange=(action 'handleUpdate')
as |selectData|
}}
{{selectData.name}}
{{/power-select}}
和相应的component.js应该是:
actions:{
handleUpdate(val){
this.set('selectedElement', val);
if(val && val.id){
this.set('conID', val.id);
}
else{
this.set('conID', undefined);
}
}
}