我正在使用react-select
组件,目前正在通过redux-form
<Field />
从下拉列表(选择框列表)中选择“其他”选项来显示组件。我尝试了onChange
方法,但它不起作用。
下面是我的SelectInput.js
import React, {PropTypes} from 'react';
import Select from 'react-select';
import 'react-select/dist/react-select.css';
export default (props) => (
<Select
{...props}
value={props.input.value}
onChange={(value) => props.input.onChange(value) }
onBlur={() => props.input.onBlur(props.input.value) }
options = {props.options} />
);
这是我的主页SampleSelect.js
import React, {PropTypes} from 'react';
import SelectInput from './SelectInput';
class SampleSelect extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) //I have written this function to display an empty field on selecting "Other" option from dropdown.
{
if (event.target.value == "THR") {
this.setState({ selected: true })
}
else {
this.setState({ selected: false })
}
}
render() {
const options = [{ value: 'THR', label: 'Other' }];
const content = this.state.selected ? <Field name ="Other" id="otherBox" component ="input" /> : null;
return (
<div>
Select Options: <Field name="selectField" component={SelectInput} onChange={this.handleChange} options={options} /> //Tried this but not working.
<div>
{content}
</div>
</div>
)
}
}
export default SampleSelect;
请指导我如何触发onChange
方法并<Field />
在从react-select
框中选择“其他”选项时显示。
需要注意的一件事:我可以将包装react-select
框中的值提交到表单,但希望在选择“其他”选项时实现文本字段的显示。请指导。
谢谢,嘘