diff --git a/src/components/search/Input.jsx b/src/components/search/Input.jsx
index ec92225..abb869b 100644
--- a/src/components/search/Input.jsx
+++ b/src/components/search/Input.jsx
@@ -63,7 +63,8 @@ class SearchInput extends React.Component {
componentDidMount() {
if (this.props.autoGet === true) {
- const { map, resultkey, param } = this.props;
+ const { map, resultkey, dependenciesFun } = this.props;
+ const param = typeof dependenciesFun === 'function' ? dependenciesFun() : {};
const mapKey = Object.keys(map).reduce((r, v) => ({ ...r, [v]: { key: map[v] } }), {});
curl({ value: '', url: this.props.url || '', map: mapKey, resultkey, param }, (data) =>
this.setState({ data, autoData: data }, () => (typeof this.props.onSearchAfter === 'function' ? this.props.onSearchAfter(data, this.state.value) : ''))
@@ -87,7 +88,8 @@ class SearchInput extends React.Component {
this.setState({ data: f || [] });
return false;
}
- const { map, resultkey, param } = this.props;
+ const { map, resultkey, dependenciesFun } = this.props;
+ const param = typeof dependenciesFun === 'function' ? dependenciesFun() : {};
const mapKey = Object.keys(map).reduce((r, v) => ({ ...r, [v]: { key: map[v] } }), {});
if (value) {
curl({ value, url: this.props.url || '', map: mapKey, resultkey, param }, (data) =>
@@ -99,13 +101,12 @@ class SearchInput extends React.Component {
};
handleChange = (value, option) => {
- // console.log('invoke denpendencies change', value);
this.setState({ value }, () => this.props.onChange(value, option));
};
render() {
const options = this.state.data.map(d => );
- const { onSearchAfter, defaultOptions, autoGet, ...props } = this.props;
+ const { onSearchAfter, defaultOptions, autoGet, dependenciesFun, ...props } = this.props;
return (