Javascript 无法在{{#each}}块中使用'ember power select' //控制器 类别:[‘类别0’、‘类别1’、‘类别2’], 单位:['unit0','unit1','unit3'], //哈佛商学院 {{{#每个类别作为|类别} {{category}} 选择单位 {{#电源选择 选项=单位 选定的=选定的 onchange=(操作(选择mut)) as |单位| }} {{unit} {{/power select} {{/每个}}

Javascript 无法在{{#each}}块中使用'ember power select' //控制器 类别:[‘类别0’、‘类别1’、‘类别2’], 单位:['unit0','unit1','unit3'], //哈佛商学院 {{{#每个类别作为|类别} {{category}} 选择单位 {{#电源选择 选项=单位 选定的=选定的 onchange=(操作(选择mut)) as |单位| }} {{unit} {{/power select} {{/每个}},javascript,jquery,ember.js,ember-data,ember-cli,Javascript,Jquery,Ember.js,Ember Data,Ember Cli,上述代码生成了3个电源选择框。当我在第一个电源选择框中选择一个值时,第二个和第三个框中也会选择相同的值 共有3个类别,因此它可以加载三个电源选择框。所有3个电源选择选项都具有相同的阵列(单位:['unit0'、'unit1'、'unit3']) 如何使每个电源选择框唯一?这样我可以在每个电源选择框中选择不同的值 您需要将selectedItem属性发送到ember power select,当前您正在发送每个块作用域单元属性 我修改了您的代码以包含所选的 //controller categor

上述代码生成了3个电源选择框。当我在第一个电源选择框中选择一个值时,第二个和第三个框中也会选择相同的值

共有3个类别,因此它可以加载三个电源选择框。所有3个电源选择选项都具有相同的阵列(单位:['unit0'、'unit1'、'unit3'])


如何使每个电源选择框唯一?这样我可以在每个电源选择框中选择不同的值

您需要将selectedItem属性发送到ember power select,当前您正在发送每个块作用域
单元
属性

我修改了您的代码以包含所选的

//controller
categories: ['category0', 'category1', 'category2'],
units: ['unit0', 'unit1', 'unit3'],

//hbs
<ul>
  {{#each categories as |category|}}
    <label>{{category}}</label>
    <li>
      <label>Select Unit</label>
      {{#power-select
        options=units
        selected=selected
        onchange=(action (mut selected)) 
        as |unit|
      }}
        {{unit}}
      {{/power-select}}
    </li>
  {{/each}}
</ul>
在哈佛商学院

Units: [{name:'Unit0',selected:''},{name:'Unit1',selected:''},{name:'Unit2',selected:''}]
    {{{#每个单位作为|单位}
  • 选择单位 {{#电源选择 选定=单位。选定 选项=单位 onchange=(操作(mut unit.selected)) as |单位| }} {{unit.name} {{/power select}
  • {{/每个}}
以下是解决方案

,以下解决方案有效
categories:[{label:'category0'},{label:'category1'},{label:'category2'}
],
单位:['unit0','unit1','unit3']
    {{{#每个类别作为|类别} {{category}}
  • 选择单位 {{#电源选择 选项=单位 已选定=类别。已选定 onchange=(操作(mut category.selected)) as |单位| }} {{unit} {{/power select}
  • {{/每个}}

问题是,对于每个电源选择,您将如何维护selectedUnit,目前您提供的是
unit
作为
selected
,但这是特定每个块的范围。我编辑了我的问题。请看一看。“共有3个类别,因此它会加载三个电源选择框。所有3个电源选择选项都是相同的数组(单位:['unit0'、'unit1'、'unit3'])”转换类别数组以保留每个类别的selectedItem,就像我在
units
中所做的那样,我修改了上述代码,它可以正常工作。“selected=category.selected onchange=(action(mut category.selected))”@rinold我在电话上无法更新您更新的问题的答案,因此您可以编写您的答案并将其标记为已接受的答案,这将对其他人非常有帮助。
<ul>
  {{#each Units as |unit|}}
    <li>
      <label>Select Unit</label>
      {{#power-select
        selected=unit.selected
        options=Units 
        onchange=(action (mut unit.selected)) 
        as |unit|
      }}
        {{unit.name}}
      {{/power-select}}
    </li>
  {{/each}}
</ul>
categories: [{label: 'category0'}, {label: 'category1'}, {label: 'category2'}
],
units: ['unit0', 'unit1', 'unit3']

<ul>
  {{#each categories as |category|}}
    <label>{{category}}</label>
    <li>
      <label>Select Unit</label>
      {{#power-select
        options=units
        selected=category.selected
        onchange=(action (mut category.selected)) 
        as |unit|
      }}
        {{unit}}
      {{/power-select}}
    </li>
  {{/each}}
</ul>