ユーザーがselectコンポーネントを変更するたびに値を取得しようとしています。しかし、値は常に 'undefined'を返します。Ember 2でselectから現在の値を取得できません
私はすべてのStackoverflowの質問と他のサイトを通過しましたが、成功しません。私はここで何かを逃しているように感じる。 Ember 2.8を使用しています。
マイコンポーネントテンプレート:
<div class="form-group">
<label for="{{selectId}}">{{selectTitle}}</label>
<select name="{{selectId}}" id="{{selectId}}" class="form-control" {{action "getSelectValue" on="change" value="target.value"}}>
<option value="0" selected>{{selectDefault}}</option>
{{#each model as |choice|}}
<option value={{choice.id}}>{{choice.name}}</option>
{{/each}}
</select>
</div>
マイコンポーネントの論理:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: '',
currentValue: null,
actions: {
getSelectValue(value) {
console.log(value); //always returns undefined
}
}
});
私はこのようにそれを呼んでいる:テンプレートで
{{select-control model=model.tasks selectTitle="Task" selectDefault="Choose Task" selectId="taskSelect"}}
私も使用しましたonchange = "{{action ...}}"構文が、アクションは呼び出されませんでした。
この時点では、私のルートやコントローラでこれを処理するロジックがありません。
ありがとうございました! '' `コンポーネントファイル内:
への変更上記の行をなぜあなたはこの' tagNameをしておくのですか?これ以外はすべて私にとっては大丈夫です。その行を削除して – kumkanillam
をチェックしてください。 'tagName: '''は、Ember-view div内のコンポーネントをEmberがラップするのを防ぎます。しかし、ありがとう! – plck
代わりに、この 'on {" action "getSelectValue" value = "target.value"}} 'を使用します。これを確認できます[twiddle](https://ember-twiddle.com/f0e54b5486e1279f6c08f46c716a833a?openFiles=templates.application.hbs%2C) – kumkanillam