Ember 4.6< 选择>不显示当前值

tyu7yeag  于 2022-09-28  发布在  其他
关注(0)|答案(1)|浏览(157)

我是否遗漏了以下内容:

<select
  id={{@field}}
  name={{@field}}
  {{on "change" this.sendSelect}}
>
  <option value="null">Select one ... </option>
  {{#each this.data as |item|}}

  {{log "in record.hbs, curVal=" @curVal}}
  {{log "in record.hbs, item.id=" item.id}}
  {{debugger}}
    <option
      value={{item.id}}
      selected={{fn this.areEqual @curVal item.id}}
    >{{item.name}}</option>
  {{/each}}
</select>

首次加载时未识别选定的选项。{{log}}语句显示其中一条记录有@curVal和item。具有相等值的id。使用{{debugger}}和

typeof  get(item.id)

@curVal也一样,表示它们都是字符串。
我最初使用ember真相助手

{{eq  @curVal item.id}}

但这并没有选择任何东西。所以我写了一个本地函数:

@action
  areEqual(curval, itemId) {
    console.log('typeof curval', typeof curval);
    console.log('typeof itemId', typeof curval);
    return curval == itemId;
}

但它似乎从来没有被调用过。我做错了什么?

hmmo2u0o

hmmo2u0o1#

尝试删除fn

selected={{this.areEqual @curVal item.id}}

fn部分应用参数,然后返回未调用的函数。
语法:

{{someFunction arg1 arg2}}

立即调用someFunction
文件:

相关问题