我的用例:
我有一个表单和两个ReferenceInput
,其上带有AutocompleteInput
。
我在第一个ReferenceInput
中选择了一个用户,然后我想查询从服务器到下一个ReferenceInput
的所选用户的图书。
如何在这种情况下定义filterToQuery
属性?
filterToQuery={searchText => ({ 'q[name_cont]': searchText, q[user_id_eq]: ??? })}
答案 0 :(得分:0)
aor-dependent-input可能对您有帮助。您可以在README
中找到与您想要的相近的示例答案 1 :(得分:-1)
您需要编写一个自定义的redux连接组件,它将包装您的referenceInput并根据状态中的选定值提供过滤器值。
您可以从state.admin.form访问当前数据。'YOURFORMNAME' redux表单还提供了一些可用于访问其他组件中的值的实用程序函数
https://redux-form.com/7.0.4/docs/api/selectors.md/
class ConnectedInput extends Component {
componentWillRecieveProps = (nextProps, currentProps) => {
if (nextProps.userName !== currentProps.userName) {
//reset state to set the the filter to query property based on new props and forcing a rerendering which will make the db call
}
}
render() {
return (
<ReferenceInput filterToQuery={this.state.filter}>
<DisplayComponent />
</ReferenceInput>
)
}
mapStateToProps = () => {
const userName = //get from the state
return userName
}
}