Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何使用Redux form v6将道具正确传递给自定义组件_Forms_Reactjs_React Redux_Redux Form - Fatal编程技术网

Forms 如何使用Redux form v6将道具正确传递给自定义组件

Forms 如何使用Redux form v6将道具正确传递给自定义组件,forms,reactjs,react-redux,redux-form,Forms,Reactjs,React Redux,Redux Form,我正在尝试将我的表单更新为redux form v6.7,但我对这一部分的理解有困难 假设我要渲染一个选择组件,如下所示: <div className="col-md-12"> <Field name="name" component={renderSelect}/> </div> 下面是我的组件,它与以前版本的react redux配合得很好,显然是与名为“name”的表单道具配合得很好: name.onBlur(name.value)

我正在尝试将我的表单更新为redux form v6.7,但我对这一部分的理解有困难

假设我要渲染一个选择组件,如下所示:

 <div className="col-md-12">
     <Field name="name" component={renderSelect}/>
 </div>

下面是我的组件,它与以前版本的react redux配合得很好,显然是与名为“name”的表单道具配合得很好:

name.onBlur(name.value)}
自动模糊={true}
simpleValue={true}
multi={true}
可清除={false}
onBlurResetsInput={false}
onCloseResetsInput={false}
分隔符=“|”
showNewOptionAtTop={false}
selectComponent={createable}
PrompTextCreator={(标签)=>{return“搜索”+标签}
/>
因此,现在我尝试将此组件包装在renderSelect()函数中。但是我不确定如何正确地将我需要的道具传递到自定义组件。我应该传递什么道具,默认传递哪些道具,等等

const renderSelect = ({/*what to pass here?*/ input }) => (
    <FormGroup controlId="name" role="form" className="col-md-12">
        <div className="group selectW" style={{width: '100%'}}>
            <VirtualizedSelect
                {...domOnlyProps(name)}
                filterOptions={itemsFilter}
                options={this.state.items.items}
                onChange={name.onChange}
                value={name.value}
                name="name"
                placeholder="Name"
                onBlur={() => name.onBlur(name.value)}
                autoBlur={true}
                simpleValue={true}
                multi={true}
                clearable={false}
                onBlurResetsInput={false}
                onCloseResetsInput={false}
                delimiter="|"
                showNewOptionAtTop={false}
                selectComponent={Creatable}
                promptTextCreator={(label) => {return "Search for " + label}}

            />
        </div>
    </FormGroup>
);
constrenderselect=({/*在这里传递什么?*/input})=>(
name.onBlur(name.value)}
自动模糊={true}
simpleValue={true}
multi={true}
可清除={false}
onBlurResetsInput={false}
onCloseResetsInput={false}
分隔符=“|”
showNewOptionAtTop={false}
selectComponent={createable}
PrompTextCreator={(标签)=>{return“搜索”+标签}
/>
);

感谢您的帮助。

我找到了答案,发布了它的外观,因为它可能会在某个时候帮助其他人

const renderSelect = ({input, items, filter}) => (
    <FormGroup controlId="name" role="form" className="col-md-12">
        <div className="group selectW" style={{width: '100%'}}>
            <VirtualizedSelect

                filterOptions={filter}
                options={items}
                onChange={input.onChange}
                value={input.value}
                name={input.name}
                placeholder="Name"
                onBlur={() => input.onBlur(input.value)}
                autoBlur={true}
                simpleValue={true}
                multi={true}
                clearable={false}
                onBlurResetsInput={false}
                onCloseResetsInput={false}
                delimiter="|"
                showNewOptionAtTop={false}
                selectComponent={Creatable}
                promptTextCreator={(label) => {return "Search for " + label}}

            />
        </div>
    </FormGroup>
);
constrenderselect=({input,items,filter})=>(
input.onBlur(input.value)}
自动模糊={true}
simpleValue={true}
multi={true}
可清除={false}
onBlurResetsInput={false}
onCloseResetsInput={false}
分隔符=“|”
showNewOptionAtTop={false}
selectComponent={createable}
PrompTextCreator={(标签)=>{return“搜索”+标签}
/>
);

我找到了答案,发布了它的外观,因为它可能会在某个时候帮助其他人

const renderSelect = ({input, items, filter}) => (
    <FormGroup controlId="name" role="form" className="col-md-12">
        <div className="group selectW" style={{width: '100%'}}>
            <VirtualizedSelect

                filterOptions={filter}
                options={items}
                onChange={input.onChange}
                value={input.value}
                name={input.name}
                placeholder="Name"
                onBlur={() => input.onBlur(input.value)}
                autoBlur={true}
                simpleValue={true}
                multi={true}
                clearable={false}
                onBlurResetsInput={false}
                onCloseResetsInput={false}
                delimiter="|"
                showNewOptionAtTop={false}
                selectComponent={Creatable}
                promptTextCreator={(label) => {return "Search for " + label}}

            />
        </div>
    </FormGroup>
);
constrenderselect=({input,items,filter})=>(
input.onBlur(input.value)}
自动模糊={true}
simpleValue={true}
multi={true}
可清除={false}
onBlurResetsInput={false}
onCloseResetsInput={false}
分隔符=“|”
showNewOptionAtTop={false}
selectComponent={createable}
PrompTextCreator={(标签)=>{return“搜索”+标签}
/>
);