繁体   English   中英

如何在更改之前获取TextInput的值?

[英]How to get the value of TextInput before it was changed?

我有以下几点:

<TextInput
                        id="txtDupProjectName"
                        labelText=""
                        placeholder="Name"
                        required
                        defaultValue={this.projectName + "_Copy"}
                        // invalid={this.dupProjectName === ''}
                        // invalidText="Mandatory"
                        onChange={ e => this.handleDupProjectNameChange(e) }
                    />

如果我没有在textInput内键入任何字符(未调用handleDupProjectNameChange),但是需要将更改保存为默认值...

我使用过(基于Jeroen Jonkman的成功):

document.getElementById('txtDupProjectName').value

并在componentDidMount中:

componentDidMount() {

    console.log("...............", document.getElementById('txtDupProjectName').value  )

    this.setState({
        dupProjectName: document.getElementById('txtDupProjectName').value
    })
}

但是问题是我同时显示多个组件(来自同一类型),所以我使用的id不相同,我正在将它们中的一个赋予其他所有组件。

我将尝试使用id中的项目名称来使其相同

如果需要在更改之前获取该值,则需要使用onfocus事件。 每当用户激活该字段时,都会引发此错误。

您在输入字段中没有使用name属性。

使用:document.getElementById('...')..代替或添加名称属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM