小编Bra*_*ers的帖子

emberjs:将选定的值传递给表单中的选择字段

我正在尝试使用 ember 从第一原则中添加一个 SELECT 字段,并且在编辑记录时很难弄清楚如何将当前选定的选项传递给表单。

我已经将表单设置为一个组件,并且能够在创建新记录时成功使用它,并将选定的值传递给 Rails 后端。我的问题是,在编辑现有记录时,我无法找到将这个选定值应用到表单组件的方法。

这是组件模板部分(book-form.hbs):

  <div class="form-group">
    <select id="format" onchange={{action 'updateValue' value='target.value'}}>
      <option value=""></option>
      <option value="Paperback">Paperback</option>
      <option value="Hardcover">Hardcover</option>
      <option value="E-Book">E-Book</option>
    </select>
Run Code Online (Sandbox Code Playgroud)

模板代码(book-form.js):

import Component from '@ember/component';

export default Component.extend({
  actions: {
    submitChange(param) {
      this.onSave(param, this.selectedOpt);
    },
    selectedOpt: "",
    updateValue(value) {
      this.set('value', value);
      this.selectedOpt = value;
    },
  }
});
Run Code Online (Sandbox Code Playgroud)

新建和编辑模板:

{{book-form onSave=(action 'saveBook') model=model}}
Run Code Online (Sandbox Code Playgroud)

新控制器:

export default Controller.extend({
  actions: {
    saveBook(newBook,format) {
      var tmp = this.store.createRecord('book', {
        title: newBook.title,
        author: newBook.author,
        genre: newBook.genre,
        format: format,
      });
      tmp.save(); …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ember.js

1
推荐指数
1
解决办法
774
查看次数

标签 统计

ember.js ×1

ruby-on-rails ×1