내가 있는 문제점을 사용하여 반응을 선택합니다. 내가 사용하는 돌아오는 양식을 나는've 내 반응을 선택합 구성 요소는 호환으로 돌아오는 양식입니다. 는 코드는 다음과 같습니다:
const MySelect = props => (
<Select
{...props}
value={props.input.value}
onChange={value => props.input.onChange(value)}
onBlur={() => props.input.onBlur(props.input.value)}
options={props.options}
placeholder={props.placeholder}
selectedValue={props.selectedValue}
/>
);
그리고 여기에 내가 어떻게 렌더링합니다:
<div className="select-box__container">
<Field
id="side"
name="side"
component={SelectInput}
options={sideOptions}
clearable={false}
placeholder="Select Side"
selectedValue={label: 'Any', value: 'Any'}
/>
</div>
하지만 문제는 나의 드롭다운는 기본값이 아니합니다. 내가 무엇'm doing wrong? 어떤 아이디어가?
난 당신 같은 뭔가가 필요 this:
const MySelect = props => (
<select
{...props}
value={props.options.filter(option => option.label === 'Some label')}
onChange={value => props.input.onChange(value)}
onBlur={() => props.input.onBlur(props.input.value)}
options={props.options}
placeholder={props.placeholder}
/>
);
내가 사용하는 기본값 매개 변수는 아래 코드는 방법을 내가 달성하는 기본값뿐만 아니라 기본 값을 업데이트 옵션을 선택할 때에 드롭다운.
<select
name="form-dept-select"
options={depts}
defaultValue={{ label: "Select Dept", value: 0 }}
onChange={e => {
this.setState({
department: e.label,
deptId: e.value
});
}}
/>
장에@이삭-pak's,대답을 전달하려는 경우 기본 가치의 구성 요소로서,소품,당신은 그것을 저장할 수 있는 상태에서 componentDidMount()수명 주기도록 하는 방법은 기본적으로 선택되는 첫 시간입니다.
참고,나는've 업데이트 다음 코드를 더 완전하고 사용하는 빈 문자열의 초기 값으로 따 comment.
export default class MySelect extends Component {
constructor(props) {
super(props);
this.state = {
selectedValue: '',
};
this.handleChange = this.handleChange.bind(this);
this.options = [
{value: 'foo', label: 'Foo'},
{value: 'bar', label: 'Bar'},
{value: 'baz', label: 'Baz'}
];
}
componentDidMount() {
this.setState({
selectedValue: this.props.defaultValue,
})
}
handleChange(selectedOption) {
this.setState({selectedValue: selectedOption.value});
}
render() {
return (
<select
value={this.options.filter(({value}) => value === this.state.selectedValue)}
onChange={this.handleChange}
options={this.options}
/>
)
}
}
MySelect.propTypes = {
defaultValue: PropTypes.string.isRequired
};
자동 선택의 가치에서 선택합니다.
<div className="form-group">
<label htmlFor="contactmethod">Contact Method</label>
<select id="contactmethod" className="form-control" value={this.state.contactmethod || ''} onChange={this.handleChange} name="contactmethod">
<option value='Email'>URL</option>
<option value='Phone'>Phone</option>
<option value="SMS">SMS</option>
</select>
</div>
값을 사용하여 특성에 태그 선택
value={this.state.contactmethod || ''}
이 솔루션은 나를 위해 노력하고 있습니다.
를 사용하지 않는 경우는 워 양식을 사용하고 있는 지역 상태에 대한 변경 내용은 다음의 반응을 선택합 구성 요소는 다음과 같습니다:
class MySelect extends Component {
constructor() {
super()
}
state = {
selectedValue: 'default' // your default value goes here
}
render() {
<select
...
value={this.state.selectedValue}
...
/>
)}