2

我在 Ember 3.15(辛烷值)上。使用以下设置

模板

<MyComponent
  @changeset={{changeset this.model this.MyValidationClass}}
  @onSubmit={{this.save}}
/>

零件

<BsForm {{on 'submit' (fn this.submit @changeset)}}
  @model={{@changeset}}
  @formLayout="horizontal"
  as |form|>

  <form.element
    @label="My Custom Field"
    @property="myField" as |el|>

    <BsButtonGroup
      @value="{{el.value}}"
      @type="radio"
      @onChange="{{action (changeset-set @changeset 'myField') 'target.value'}}" 
      as |bg|>

      {{#each @changeset.options as |option|}}      // options is a string array ['first', 'second', 'third']
        <bg.button
          @type="info"
          @value="{{option}}">
          {{option}}
        </bg.button>
      {{/each}}

    </BsButtonGroup>
  </form.element>
</BsForm>

我面临的问题是当我更改单选按钮选择时changeset-set没有改变值。myField我试过了

@onChange="{{action (mut el.value)}}

@onChange="{{action (changeset-set @changeset 'episodeType') this.target.value}}"

@onChange="{{action (changeset-set @changeset 'episodeType') this.buttonGroupValue}}"
4

1 回答 1

2

如评论中所述,您的代码段中有一些格式错误的模板代码。

curlies 不应该用双引号括起来,因为它应该被视为动态内容而不是字符串。例如,代码应该是@onChange={{action (mut el.value)}}而不是@onChange="{{action (mut el.value)}}"

修复模板应该会有所帮助。

于 2020-01-24T11:47:10.700 回答