1
私は、選択された項目がオブジェクトである場合に、2つのテキスト入力と1つの選択を提出するためにredux形式を作成しました。しかし、..私は正しいオブジェクトを受け取りますが、参照のいくつかの種類「[オブジェクトのオブジェクト]」はありません選択内のRedux Formsオブジェクト
を提出した後、選択のためのレンダリング:フォーム自体に
const renderSelectField = ({input, options, meta: {touched, error}}) => (
<select className='form-control' {...input}>
<option></option>
{options.map(option =>
<option key={option.id} value={option}>{option.name}</option>
)}
</select>
)
:
<div className='form-group'>
<label>Category</label>
<div>
<Field name='category' component={renderSelectField} options={this.props.categories.categories}/>
</div>
</div>
私の親コンポーネントでハンドラを提出:
handleSubmit(values, dispatch) {
var asset = {
name: values['name'],
vendor: values['vendor'],
version: values['version'],
technology: values['technology'],
category: values['category']
}
return dispatch(addAsset(asset))
.then((result) => {
if(result.type == ADD_ASSET_FAILURE){
}
if(result.type == ADD_ASSET_SUCCESS){
dispatch(routerActions.push('/assets'))
}
})
}
そして、何に提出されている:任意の助けを事前に
感謝を。
申し訳ありません。問題は、私が到達したいオブジェクトにアクセスできない、またはアクセスできないことです。私が関数getCategoryByIdを使うと、私は常にset formをfalseにしてしまいます。 – Matthias
'values ['category']'から得られるidでソース配列内のオブジェクトを見つける必要があります。配列の 'find'メソッドを試してください。 – Maxx