0
필드가 AskQuestions
인데 사용자가 무언가를 입력하면 각 사용자 키 입력에 업데이트 된 결과가 배열 companyOptions
으로 나타납니다. 그러나 사용자가 필드를 클릭하면 this.props.dispatch(change..))
을 통해 현재 필드의 값을 지우려고 시도하지만 불가능한 것처럼 보입니다.피드백 양식에서 onBlur의 양식을 업데이트 할 수 없습니다.
<Field
name="company"
type="text"
onBlur={this.onClearSearch}
keyUp={this.renderCompanyList}
component={renderField}
label="Choose Company..."/>
여기 내 renderField
나는 다음과 같은 콜백 연결 한function renderField(field) {
const { meta: {touched, error} } = field;
return(
<div>
<input type={field.type}
placeholder={field.label}
onKeyUp={field.keyUp ?() => {field.keyUp(field.input.value)} : ""}
onBlur={field.onBlur ?() =>{field.onBlur()} : ""}
{...field.input}
// I also tried putting in after ...input
// onBlur={field.onBlur ?() =>{field.onBlur()} : ""}
/>
<div className="text-danger">
{touched ? error : ''}
</div>
</div>
);
}
이지만, this.props.dispatch 필드를 재설정하지 않습니다.
onClearSearch(){
this.props.dispatch(change('AskQuestion','company',''));
}
onBlur가 표시되면 브라우저에 콘솔 오류가 표시됩니까? 당신의 기능이 호출되고 있습니까? (디버그 또는 콘솔 로그) – Franklin
나는 로그했고 나는 else {...} 절 안에 들어갔다. this.props.dispatch가 실행되고 있지만 변경 사항이 발생하지 않습니다. 나는 어떤 오류도 내지 않는다. –