我目前呈现输入控件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