Reactjs 以redux形式选择React
我是react redux新手,我想用react select创建一个下拉列表。我创建的下拉组件如下所示:Reactjs 以redux形式选择React,reactjs,redux-form,react-select,Reactjs,Redux Form,React Select,我是react redux新手,我想用react select创建一个下拉列表。我创建的下拉组件如下所示: import React, { PropTypes } from 'react'; import Select from 'react-select'; import 'react-select/dist/react-select.css'; const options = [ { value: 'one', label: 'One' }, { value: 'two',
import React, { PropTypes } from 'react';
import Select from 'react-select';
import 'react-select/dist/react-select.css';
const options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
const MyDropdown = ({ input }) => (
<div>
<Select
{...input}
value="one"
options={options}
multi={true}
onBlur={() => {
input.onBlur([...input.value]);
}
}
/>
</div>
);
MyDropdown.propTypes = {
input: PropTypes.string.isRequired
};
export default MyDropdown;
import React, { PropTypes } from 'react';
import Select from 'react-select';
const MyDropdown = ({ input, ...props }) => {
const handleBlur = () => input.onBlur
return (
<div>
<Select
instanceId={input.name}
{...input}
{...props}
onBlur={handleBlur}
/>
</div>
)
}
import React,{PropTypes}来自'React';
从“反应选择”导入选择;
导入“react-select/dist/react-select.css”;
常量选项=[
{值:'1',标签:'1'},
{值:'two',标签:'two'}
];
常量MyDropdown=({input})=>(
{
onBlur([…input.value]);
}
}
/>
);
MyDropdown.propTypes={
输入:PropTypes.string.isRequired
};
导出默认MyDropdown;
我在这里渲染
<Field
id="status"
name="status"
component={MyDropdown}
/>
我的it给了我一个恼人的错误:“元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义”。发生了什么事?在字段的表单中:
const options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
<Field
id="status"
name="status"
component={MyDropdown}
options={options}
clearable={false}
/>
const选项=[
{值:'1',标签:'1'},
{值:'two',标签:'two'}
];
您的组件应该如下所示:
import React, { PropTypes } from 'react';
import Select from 'react-select';
import 'react-select/dist/react-select.css';
const options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
const MyDropdown = ({ input }) => (
<div>
<Select
{...input}
value="one"
options={options}
multi={true}
onBlur={() => {
input.onBlur([...input.value]);
}
}
/>
</div>
);
MyDropdown.propTypes = {
input: PropTypes.string.isRequired
};
export default MyDropdown;
import React, { PropTypes } from 'react';
import Select from 'react-select';
const MyDropdown = ({ input, ...props }) => {
const handleBlur = () => input.onBlur
return (
<div>
<Select
instanceId={input.name}
{...input}
{...props}
onBlur={handleBlur}
/>
</div>
)
}
import React,{PropTypes}来自'React';
从“反应选择”导入选择;
常量MyDropdown=({input,…props})=>{
const handleBlur=()=>input.onBlur
返回(
)
}
如果这不起作用,请检查传递给它的选项,并在MyDropdown组件中创建一个自定义方法,从传递的列表中生成选项,并将其作为道具传递给
。不过,这应该行。字段从何而来?这是一个引导程序吗?字段正在从redux表单导入我们输入正确的已知值={input.value}您可以添加错误的完整堆栈跟踪吗?如何导入我的下拉列表?由于MyDropdown
未定义,可能是导入的问题。您如何将值从字段向下传递到Select?这就是我目前遇到的问题:O?@Jamie Hutber options字段中的选项是传递给Select in My下拉组件的键值对列表。啊,所以您可以将值放入选项中。。。。非常好,谢谢你,我的朋友!!