首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在{{#each}}块中使用ember-power-select

如何在{{#each}}块中使用ember-power-select
EN

Stack Overflow用户
提问于 2016-05-28 21:29:04
回答 3查看 382关注 0票数 0

我正在使用hbs模板中的{{#each}}块生成ember-power-select框,如下面的代码所示。

代码语言:javascript
复制
{{#each hps as |hp|}}

{{#power-select
  search=(action "searchRepo")
  selected=selected
  onchange=(action (mut selected))
  as |repo|
}}
  {{repo.name}}
{{/power-select}}

{{/each}}

上面的代码生成了两个选择框。但当我在第一个框中选择一个值时,相同的值也会在第二个框中复制。

区分这两个选择框的方法是什么?

EN

回答 3

Stack Overflow用户

发布于 2016-05-29 16:09:17

这对我很管用

代码语言:javascript
复制
// Controller
roles: ['Project Manager', 'Tech Lead', 'Member'],

<ul>
{{#each user.projectRoles as |projectRole|}}
    <li>
        <label>{{projectRole.project}}</label>
        {{#power-select selected=projectRole.role options=roles onchange=(action (mut projectRole.role)) as |role|}}
        {{role}}
        {{/power-select}}
    </li>
{{/each}}
</ul>
票数 3
EN

Stack Overflow用户

发布于 2016-05-29 02:22:52

我能想到的唯一可行的方法是将selected声明为一个数组,并将每个power select selected属性绑定到hp数组的对应索引。

例如,假设您正在使用一个组件:

代码语言:javascript
复制
import Ember from 'ember';

export default Ember.Component.extend({
    selected: Ember.A()
});

然后,在您的组件模板中:

代码语言:javascript
复制
{{#each hps as |hp hp_index|}}

    {{#power-select
      search=(action "searchRepo")
      selected=selected.[hp_index]
      onchange=(action (mut selected))
      as |repo|
    }}
      {{repo.name}}
    {{/power-select}}

{{/each}}
票数 0
EN

Stack Overflow用户

发布于 2016-05-29 03:13:57

这主要是因为您在两个select语句中都分配了相同的as |repo|,所以每当您更改其中一个语句时,它都会反映在这两个语句中。

{{#power-select}}没有这样的选项,你可以试试其他的

否则,您将使用不同的as |repo2|定义两个{{#power-select}}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37499608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档