在 ember 中设置要动态输入的值
Set value to input dynamically in ember
我正在尝试将变量名称设置为输入值,以便在输入框中输入值时数据测试选择器值相同。如果我目前使用 value=item.name
在输入框中显示名称。我只是想在输入值输入时将值设置为变量名,它也被分配给数据测试选择器。像下面显示的旧代码。
尝试动态使用每个
{{#each items as |item|}}
<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} {{action "myAction" onEvent="keyUp"}} value=item.name/>
{{/each}}
旧代码
{{input type="text" maxlength="15" class="form-control" value=product data-test-selector=product}}
- 您忘记将
item.name
换成 {{
。
- 没有
onEvent
。但是有 on
喜欢 on="keyUp"
参考指南部分 Specifying the Type of Event
myAction 方法应将值更新为 item.name
属性 或者您可以尝试以下操作。
<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} value={{item.name}} oninput={{action (mut item.name) value="target.value"}}>
更新:
我们可以在允许用户只输入数字而不输入字母的地方添加观察者或动作事件吗?
在这种情况下你不需要使用观察者,oninput={{action 'updateName' item}}
updateName(item, event){
let number = event.target.value.toString().replace(/[^\d.]/g, "");
Ember.set(item,'name',number);
}
我正在尝试将变量名称设置为输入值,以便在输入框中输入值时数据测试选择器值相同。如果我目前使用 value=item.name
在输入框中显示名称。我只是想在输入值输入时将值设置为变量名,它也被分配给数据测试选择器。像下面显示的旧代码。
尝试动态使用每个
{{#each items as |item|}}
<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} {{action "myAction" onEvent="keyUp"}} value=item.name/>
{{/each}}
旧代码
{{input type="text" maxlength="15" class="form-control" value=product data-test-selector=product}}
- 您忘记将
item.name
换成{{
。 - 没有
onEvent
。但是有on
喜欢on="keyUp"
参考指南部分 Specifying the Type of Event myAction 方法应将值更新为
item.name
属性 或者您可以尝试以下操作。<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} value={{item.name}} oninput={{action (mut item.name) value="target.value"}}>
更新:
我们可以在允许用户只输入数字而不输入字母的地方添加观察者或动作事件吗?
在这种情况下你不需要使用观察者,oninput={{action 'updateName' item}}
updateName(item, event){
let number = event.target.value.toString().replace(/[^\d.]/g, "");
Ember.set(item,'name',number);
}