Admin-on-REST:onNewRequest不适用于AutocompleteInput?

时间:2017-07-03 19:13:47

标签: javascript reactjs redux admin-on-rest

我想要一个

的自定义输入组件

1)有一个自动完成组件,允许选择"字段" -resource

2)选择"字段"根据所选的"字段"。

的类型填充另一个SelectInput

我目前拥有的是:

    const renderAutoComplete = ({ input, meta, ...rest }) => {
        return (
            <AutoComplete {...rest} />
        )
    }


    render () {
        return (
            <div>
                <div>
                    <Field
                        component={renderAutoComplete}
                        name={this.props.fieldSource}
                        hintText="Field"
                        dataSource={this.state.fields}
                        dataSourceConfig={{ text: 'title', value: 'id' }}
                        openOnFocus={true}
                        filter={AutoComplete.caseInsensitiveFilter}
                        onNewRequest={(chosen) => this.handleNewRequest(chosen)}
                    />
                </div>
                <div>
                    <Field
                        component={SelectInput}
                        label="Type-dependent"
                        name={this.props.typeSource}
                        choices={this.state.availableChoices}
                    />
                </div>
            </div>
        )
    }

就SelectInput的填充而言,这非常有用,如果我在创建表单中使用它,我也会获得带有请求的SelectInput发送的值。

不幸的是,虽然&#34;字段&#34; -value未包含在请求中。

我假设我需要一个真实的&#34; AutocompleteInput在这里。所以我做了以下事情:

                    <Field
                        component={AutocompleteInput}
                        name={this.props.fieldSource}
                        hintText="Feld"
                        choices={this.state.fields}
                        dataSourceConfig={{ text: 'title', value: 'id' }}
                        optionText="title"
                        optionValue="id"
                        filter={AutoComplete.caseInsensitiveFilter}
                        onNewRequest={(chosen) => this.handleNewRequest(chosen)}
                    />

有了这个,我在请求中发送了&#34;字段&#34; -values,但onNewRequest - 回调从未执行过。因此,另一个SelectInput没有收到我可以发送的任何值。

我查看了autocompleteInput文件所在的node_modules文件夹,根据它们,可以在此处使用此回调。

这是一个错误还是我在这里做错了什么?

关于wesley6j评论编辑:

<Field
    name="field"
    component={AutocompleteInput}
    choices={choices}
    optionText="title"
    optionValue="id"
    filter={AutoComplete.caseInsensitiveFilter}
    options={{
        onNewRequest: (chosen, index) => console.log(chosen)
    }}
/>

...这会记录到控制台,但我的值未在请求中设置。您是否可以将我指向文档或源代码的正确部分,以清除我在此处必须做的事情?

0 个答案:

没有答案