gpt4 book ai didi

ember.js - 如何将多个参数传递给 Ember2.3 中 select 元素的 onChange 操作

转载 作者:行者123 更新时间:2023-12-04 14:25:33 25 4
gpt4 key购买 nike

我有一个 选择 循环内的元素,我想触发的 Action 需要有两个参数:的selected选项选择 element 和我们循环使用的项目。我的代码看起来像这样:

{{#each loopItems as |loopItem|}}
<select onChange={{action 'fireThis' loopItem target.value }}>
{{#each loopItem.subItems as |subItem|}}
<option value={{subItem.id}}>{{subItem.value}}</option>
{{/each}}
</select>
{{/each}}

还有我的 火这个 Action 是这样的:
fireThis:function(loopItem, value){
//Do something here with both.
// like loopItem.set('thisProperty', value);
}

因此,在我的特定情况下,子项的数量是动态的,我需要将选定的子项与它当前所在的循环项一起使用。

除非重构为组件(现在,我不能这样做),我将如何将多个参数传递给在“onChange”上触发的操作?

我试过了:
<select onChange={{action 'fireThis' value ="loopItem target.value" }}> 
<select onChange={{action 'fireThis' value ="loopItem target.value" }}>
<select onChange={{action 'fireThis' loopItem value="target.value"}}>
<select onChange={{action 'fireThis' value="target.value" loopItem}}>

对于上述所有情况,我在函数中的两个参数都未定义(或导致另一个错误)。唯一有效的是:
<select onChange={{action 'fireThis' value="target.value"}}>

但这只给了我子项,而不是循环项。

不幸的是,loopItems 是新创建的 Ember 对象,没有任何 ID 参数,所以我也不能给每个选择元素一个唯一的 ID。传递多个参数的能力几乎可以解决我的整个问题。

最佳答案

有点晚了,但在这里找到的答案有效:
ember 2 parameters in a action of a select menu .

对于 OP 的解决方案,您可以像这样包装它:
<select onChange={{action (action 'fireThis' loopItem) value="target.value"}}>

关于ember.js - 如何将多个参数传递给 Ember2.3 中 select 元素的 onChange 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35348059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com