2016-07-26 3 views
4

im 사용하여 반응 redux 양식 필드와 나는 클래스의 드롭 다운있다. 드롭 다운에서 어떤 클래스라도 선택할 수 있습니다. 하지만 문제는 드롭 다운에서 어떤 값 (클래스)을 선택할 때 action onChange를 트리거하려고합니다. 변경 사항과 함께 작업을 트리거 할 때 드롭 다운 값이 설정되지 않고 선택한 값이 표시되지 않습니다. 내가 아래로 OnChange 이벤트 내 드롭을 설정 correclty 작동하고 적절한 텍스트를 올바르게 선택 값을 표시하지 않는 경우 코드 여기선택한 값을 가져 오는 방법 reactx-form 드롭 다운 변경

<Field name="class._id" component="select" className="form-control" onChange={this.onChange.bind(this)} > 
       <option value="">Select class...</option> 
       {this.props.classes.map(Class => 
       <option value={Class._id} key={Class._id} >{Class.name}</option>)} 
</Field> 

의 다음 줄을 사용하여 메신저의 onChange 기능을

onChange(){ 
    console.log(" Triggered") 
    } 

입니다. 하지만 사용할 때마다 함수를 호출하고 싶습니다.

답변

4

JSBin 또는 Fiddle에 전체 구성 요소 (및 모듈 또는 컨테이너 등)를 추가 할 수 있습니까? 그렇게하면 포스터가 당신을 도울 방법을 더 잘 알 수 있습니다. 즉, 코드가 올바른 것처럼 보입니다. 다음과 같은 종류의 선택에서 가치를 얻을 수 있습니다.

onChange(event) { 
    console.log(event.target.value); 
} 

도움이 될까요?

+0

감사합니다. @ jasongonzales, 저를 도왔습니다! :) –

0

당신은 redux 및 표준 html 요소의 필드 소품을 더 잘 사용해야합니까?

const {fields} = this.props 
<select {...fields.class} onChange={this.handleChange}> 
... 

handleChange(event) { 
    // do your stuff 
    this.props.fields.class.onChange(event) 
} 
+0

this.props.fields.class.onChange (이벤트)이 줄에 오류가 표시됩니다. *** 잡히지 않은 TypeError : 콘솔에서 this.props.fields를 검사 할 때 정의되지 않은 ***의 속성 'onChange'를 읽지 못합니다 *** . 내가 redux 양식에 대한 구성 요소에이 배열을 정의했기 때문에 다음 필드 배열을 표시합니다. [ "제목", "금액", "dueDate", "범주", "클래스"] –

+0

전체 코드를 표시하십시오. 'class'필드가 정의되어 있고 해당 컴포넌트에 redux-form 컨테이너를 사용하면 작동합니다. –