无法从Ember 2

时间:2016-09-23 14:14:43

标签: select ember.js

每次用户更改select组件时,我都会尝试获取值。但是值总是返回'undefined'。

我已经浏览过所有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 ...}}”语法,但之后没有调用该操作。

此时我的路线或控制器没有逻辑处理这个。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

<select name="{{selectId}}" id="{{selectId}}" class="form-control" {{action "getSelectValue" on="change" value="target.value"}}>

将上述行更改为

<select name="{{selectId}}" id="{{selectId}}" class="form-control" onchange={{action "getSelectValue" value="target.value"}}>