我正在使用react-autosuggest进行自动完成输入(按类型提取)。我的代码基于来自material-ui中的react-admin和react-autosuggest的AutoCompleteArrayInput
。然后,我用addField
装饰了组件,以便与redux-form一起使用。
但是,当我将组件放入SimpleForm
中时,所有的输入在redux存储中都有一个值,但我的却没有。当我查看React开发工具时,我的组件周围有一个Field
组件
我尝试通过change
从redux-form手动进行操作,但是它不起作用。
如何连接Redux存储中的组件以提交所有输入?
export default connect(
null,
{
getSearched: crudGetAll,
},
)(
compose(
addField,
translate,
)(ButtonSearchWithAutocompletion),
);
onSuggestionSelected = (event, { suggestion }) => {
const { onSelectedValue, source } = this.props;
change(REDUX_FORM_NAME, source, suggestion.id);
onSelectedValue(suggestion);
};
答案 0 :(得分:0)
我们团队中的某人可以帮助我解决问题,对于面临相同问题的任何人,解决方案是像这样将change
中的redux-form
放入我的index.js中:
import { change } from 'redux-form';
import { connect } from 'react-redux';
import compose from 'recompose/compose';
import ButtonSearchWithAutocompletion from './component';
export default connect(
null,
{
getSearched: crudGetAll,
change,
},
)(
compose(
addField,
translate,
)(ButtonSearchWithAutocompletion),
);
在我的component.js中,我使用change
作为道具:
onSuggestionSelected = (event, { suggestion }) => {
const { onSelectedValue, source, change } = this.props;
change(REDUX_FORM_NAME, source, suggestion.id);
onSelectedValue(suggestion);
};
希望获得帮助!