我需要根据从ajax调用获得的数组动态创建textfield(material ui reactjs)。
下面是代码:
handleChange = (event, something) => {
var rNum = event.target.id;
this.setState(prevState => ({
// R2_1:"adsf",
testing: "cccc"
// [rNum]: event.target.value,
}));
};
componentDidMount() {
this.props.question.responses.map((response) => {
var responseElem = <TextField id='testing' label="Please enter text"
value={this.state.testing}
onChange={(event) => { this.handleChange(event) }}
/>;
this.setState(prevState => ({
responseElems: [...prevState.responses, responseElem]
}));
});
}
render() {
return (
<div className="TextBoxType">
<p dangerouslySetInnerHTML={{ __html: this.props.question.text }} />
{this.state.responseElems}
</div>
);
}
当我查看文本字段的值时,它会触发handlechange事件并更新状态值。但是它不会对textField中的实际值进行处理,尽管它已经绑定到state.testing。有人可以建议吗?感谢。
答案 0 :(得分:0)
查看original documentation。它没有描述处理数组,但我相信它会在你的情况下稍作修改。
正如我所看到的,你的onChange事件可能会更加代码优化(使用doc达到这个目标)