Итак, у меня есть API, который генерирует формы из базы данных. API для полей возвращается:Динамическая настройка клавиши выбора в Ember в поле выбора
{
"formFields": [
{
"module": 1,
"fieldName": "Global Title",
"fieldPosition": "1",
"fieldType": "select",
"fieldEditable": true,
"dataTable": "message",
"dataKey": "calling_gt",
"dataValue": "id",
"id": 1,
"createdAt": "2015-10-15T13:59:30.764Z",
"updatedAt": "2015-10-15T13:59:30.764Z"
}
]
}
У меня есть несколько компонентов Ember. По сути, это компонент Add Parameter, который пересекает поля, связанные с компонентом. Ниже загрузки выберите компонент, проходящий в модели из таблицы базы данных и поля использовать для Key->Value
:
{{#each model.fields as |field|}}
{{#if (eq field.fieldType "select")}}
{{form/select-field model=field.dataTable label=field.fieldName key=field.dataKey value=field.dataValue selected=1}}
{{/if}}
{{/each}}
select-field
компонент генерирует отборный, который производит модель данные из значений, представленных в Add Параметр компонента, например, так:
<div class="form-group">
<label for="{{key}}">{{label}}</label>
{{#x-select value=optionValue action="selectOption" class="form-control" id=key}}
{{#each componentModel as |option|}}
{{#x-option value=option.calling_gt}}{{option.calling_gt}}{{/x-option}}
{{/each}}
{{/x-select}}
</div>
Но как вы можете видеть, в x-option
, я в настоящее время жесткого кодирования значения, где они должны быть с помощью key=field.dataKey
. Но по мере того как я зацикливаюсь, и мой componentModel -> Options
не держит эту переменную, я не уверен, как передать ее в значение x-option
.
Моего component.js для select-field
выглядит так, если это помогает:
import Ember from 'ember';
export default Ember.Component.extend({
componentModel: function() {
return this.store.findAll(this.get('model'));
}.property(),
actions: {
selectOption(value, component) {
Ember.Logger.debug("Option " + component + " with value " + value + " selected");
this.set('optionValue', value);
}
},
});
Кто-нибудь знает, как вывести данные, используя ключ и значение, передаваемый в select-field
компонент?
Спасибо, получите помощь, что мне нужно. –