使用初始文本值来响应表单输入

时间:2019-01-02 05:23:25

标签: javascript reactjs

我正在使用React Bootstrap输入组件,并且想要输入组件的初始值,但是我看不到该怎么做。使用defaultValue不会将物理文本放入输入组件中,这是我正在尝试做的事情。我该怎么做呢?预先感谢。

这是我的组成部分:

    <InputGroup>
      <FormControl
        aria-label="Default"
        aria-describedby="inputGroup-sizing-default"
        value = {this.state.name}
        onChange={(event)=>{
                    this.setState({
                       name:event.target.value
                    });
                 }}
        readOnly={ isReadOnly }
        defaultValue={this.state.name}     // ---> This is what should make the text read the pre-existing name

      />
    </InputGroup>

1 个答案:

答案 0 :(得分:0)

它从state.name获取其值,因此您应该在保存控件的组件上定义默认状态。

例如在构造函数中:

constructor(props: any) {
    super(props)

    this.state = {
        name: 'default value',
    }
}

如果要使用现有的服务器端数据预先填充表单,则可能需要在加载组件时(在调用后端之后)将其设置。在这种情况下,您可以使用componentDidMount方法。在此处阅读有关组件生命周期方法的更多信息:https://reactjs.org/docs/react-component.html#the-component-lifecycle