У меня есть (простая?) Форма, которая должна собирать некоторые данные и отправлять их бэкэнду. В данных у меня есть свойство под названием personnel
, которое представляет собой массив, содержащий объекты в форме {id: 123, name: "User", role: 'some_role'}
. Пользователь должен иметь возможность выбрать человека из раскрывающегося списка и роль из другого, а затем нажать кнопку, чтобы передать его в массив:
id
и user
исходят от пользователя, выбирающего из react-select
упаковщик для redux-form
role
происходит из другого экземпляра react-select
оболочки
Проблема, с которой я сейчас сталкиваюсь, состоит в том, чтобы соединить эти две части вместе и поместить их в поле personnel
. Как бы я это сделал?
В моем компоненте у меня есть следующее:
renderSelect(formValues) {
return <RFReactSelect {...formValues} />;
}
...
onPersonnelSelected(personnel) {
// this does nothing atm
}
...
render() {
...
<div class="row">
<div class="col-sm">
<FieldArray
name="personnel"
label="Personnel"
component={this.renderSelect}
options={this.props.members}
labelKey={option => option.name}
valueKey={option => option.id}
value={this.props.personnel}
onChange={this.onPersonnelSelected}
/>
</div>
<div class="col-sm">
<Field
name="role"
label="Role"
component={this.renderRoles}
/>
</div>
<div class="col-sm">
<label> </label>
<button
type="button"
className="btn btn-primary"
onClick={this.onPersonnelSelected}
>
Add Personnel
</button>
</div>
</div>
}
Моя проблема в том, что теперь я знаю, как объединить эти 2, когда пользователь нажимает кнопку и помещает их в массив personnel
.
Спасибо.