【问题标题】:Input has become readonly when i give initial value to it当我为其赋予初始值时,输入已变为只读
【发布时间】:2019-09-22 16:49:36
【问题描述】:

当我将 reactstrap 中的input 字段的值设置为某个值时,它变为readonly

    <Col md="6">
      <FormGroup>
        <Label htmlFor="department">Department</Label>
        <Field
          id="department"
          name="department"
          type="text"
          component={InputAdapter}
          initvalue={type?kpi.department:''}
        />
        <FormFeedbackAdapter name="department" />
      </FormGroup>
    </Col>

我正在使用 react-final-form 中的字段,如上面的代码所示。那么

    const InputAdapter = (
  {
    input,
    meta,
    initvalue,
    invalid = meta => meta.touched && meta.invalid,
    valid = () => false,
    ...rest
  }
) => <Input { ...input } { ...rest } invalid={ invalid(meta) } valid={ valid(meta) } value={initvalue}/>

InputAdapter.propTypes = {
  invalid: PropTypes.func,
  valid:   PropTypes.func,
}

这是 InputAdapter 组件。这里我将值设置为初始值。但在此之后,该字段已变为只读。选择类型输入也有同样的问题。

【问题讨论】:

    标签: reactjs input reactstrap


    【解决方案1】:

    您想设置defaultValue= 而不是value=。具有值集的输入变为controlled components,即您正在观察的行为。

    【讨论】:

    • 请详细说明。我没有得到这个
    • 当我使用 defaultValue 而不是 value 我得到 value=null
    • 也有人说我必须使用一个,但我没有在任何地方指定 value 属性
    • 也许它是通过复制输入道具得到的,即...输入
    猜你喜欢
    • 1970-01-01
    • 2012-08-20
    • 2015-06-03
    • 2012-02-08
    • 2017-08-31
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多