Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果值设置为this.state.value,则React引导窗体仅允许我键入?_Javascript_Twitter Bootstrap_Reactjs_React Bootstrap - Fatal编程技术网

Javascript 如果值设置为this.state.value,则React引导窗体仅允许我键入?

Javascript 如果值设置为this.state.value,则React引导窗体仅允许我键入?,javascript,twitter-bootstrap,reactjs,react-bootstrap,Javascript,Twitter Bootstrap,Reactjs,React Bootstrap,我是第一次使用react引导,并尝试使用这里讨论的表单组件 当前在我的组件中,我的代码如下所示: <form> <FormGroup controlId="formEmail" > <ControlLabel>Email</ControlLabel> <FormControl type="text" value={this.s

我是第一次使用react引导,并尝试使用这里讨论的表单组件

当前在我的组件中,我的代码如下所示:

       <form>
        <FormGroup controlId="formEmail" >
          <ControlLabel>Email</ControlLabel>
          <FormControl
            type="text"
            value={this.state.loginInput.email}
            placeholder="Email"
          />
        </FormGroup>
        <FormGroup controlId="formPassword" >
          <ControlLabel>Password</ControlLabel>
          <FormControl
            type="text"
            value={this.state.loginInput.password}
            placeholder="Password"
          />
        </FormGroup>
      </form>

react bootstrap不允许我在那里使用自己的值有什么原因吗?

解决方案似乎是
FormControl
要求我在更改时使用
功能,否则输入字段是只读的?这似乎是一种奇怪的行为,但仅仅是将表单更改为定义了onChange事件,就允许表单按预期工作

        <FormGroup controlId="formPassword" >
          <ControlLabel>Password</ControlLabel>
          <FormControl
            type="text"
            value={this.state.loginInput.password}
            placeholder="Password"
            onChange={this.handleChange}
          />
        </FormGroup>

密码

我猜您最初问题中的期望是双向绑定,而React则不是。是的,这正是我所假设的。谢谢您指出这一点。我其实没有意识到这一点,但现在回想一下这是怎么回事,我现在明白了。
        <FormGroup controlId="formPassword" >
          <ControlLabel>Password</ControlLabel>
          <FormControl
            type="text"
            value={this.state.loginInput.password}
            placeholder="Password"
            onChange={this.handleChange}
          />
        </FormGroup>