【发布时间】:2016-05-18 07:30:45
【问题描述】:
我刚开始使用 React,但我还没有找到解决我问题的可用解决方案。我偶然发现了这个视频about Redux Form,但它在我的情况下不起作用。
我希望我的表单有一个动态的“输入”字段,这意味着我有一个组件,我主要指定它是输入还是文本区域(此项目不需要其余部分)
这是我的 DashFormInput.js,它应该是单个“输入”字段,但我希望它是动态的,因为能够更改它输出的 html 元素以及道具。
var DashFormInput = React.createClass({
getInitialState: function() {
return {
value: '',
actionType: '',
placeholder: '',
name: '',
type: ''
}
},
handleChange: function(event) {
this.setState({value: event.target.value});
},
render: function() {
return (
<input
actionType={this.props.actionType}
onChange={this.handleChange}
placeholder={this.props.placeholder}
name={this.props.name}
/>
);
}
});
这是我的 DashboardForm.js,它是我想要调用我的 DashFormInput 组件的父组件。
var DashboardForm = React.createClass({
handleSubmit(event) {
console.log(event);
event.preventDefault();
console.log("Form submitted");
},
render: function() {
return (
<form
onSubmit={this.handleSubmit}
id="dashboardForm" className="half-section">
<DashFormInput
type={'text'}
name={'address'}
placeholder={'address'}
className={'dashInput subsection'} />
</form>
)
}
});
我正在寻找一个简单的解决方案,不需要太花哨的东西,但如果这在标准 React 生态系统中是不可能的,我会用老式的方式来做。
提前致谢。
【问题讨论】: