创建TextField动态reactjs。值不会更新

时间:2017-12-11 23:51:24

标签: reactjs

我需要根据从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。有人可以建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

查看original documentation。它没有描述处理数组,但我相信它会在你的情况下稍作修改。

正如我所看到的,你的onChange事件可能会更加代码优化(使用doc达到这个目标)