【问题标题】:create TextField dynamically reactjs. Value does not update动态创建 TextField reactjs。值不更新
【发布时间】:2017-12-11 23:51:23
【问题描述】:

我需要根据从 ajax 调用中获得的数组动态创建文本字段(材质 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 事件并更新状态值。然而,尽管它已经绑定到 state.testing,但它并没有改变 textField 中的实际值。有人可以建议吗?谢谢。

【问题讨论】:

标签: reactjs


【解决方案1】:

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

正如我所见,您的 onChange 事件可能对代码进行了更多优化(也可以使用 doc 实现)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多