我目前呈現輸入控件textarea的控制,像這樣:渲染反應,引導和反應,終極版形式
renderField = function({ input, label, name, type, meta: { touched, error, warning } }) {
return (
<FormGroup>
<FormControl {...input} type={type} placeholder={label} />
{touched && error && <span className="error-text">{error}</span>}
</FormGroup>
);
}
render() {
const { handleSubmit, pristine, error } = this.props;
return (
<form onSubmit={handleSubmit(this.onSubmit)} className="profile-form">
<Field name="first_name" component={this.renderField} type="text" label="First Name" />
<Field name="last_name" component={this.renderField} type="text" label="Last Name" />
<Field name="bio" component={this.renderField} type="text" label="Bio" />
...
<Button bsStyle="primary" type="submit" disabled={pristine}>Save Changes</Button>
</form>
);
}
我想改變生物領域是一個textarea的控制,而不是輸入。是否可以在我的renderField
函數中執行此操作。我想這樣做,而不必複製另一個函數,如renderTextArea
,因爲這會重複很多參數和引導標記。
我沒有在文檔或搜索中看到任何這樣的例子,但也許我在想它錯了。
如果你將改變'this.renderField'爲'場=> this.renderField({...場,等級: 'textarea的'})'的'renderField並添加'componentClass = {}類? – elmeister