Изменить значение поля набора изменений с помощью настраиваемого элемента ember-bootstrap
Я на Ember 3.15 (Octane). При следующей настройке
шаблон
<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}}"
1 ответ
Решение
Как упоминалось в комментарии, в вашем фрагменте есть некорректный код шаблона.
Свитки не следует заключать в двойные кавычки, поскольку их следует рассматривать как динамическое содержимое, а не как строки. Например, код должен быть@onChange={{action (mut el.value)}}
и нет @onChange="{{action (mut el.value)}}"
Исправление шаблона должно помочь.