我在Redux-Form中有这个Field

          <Field
            name="hours"
            type="number"
            initialValue="100"
            placeholder="Ingrese las horas para esta categoría"
            component={RenderInput}
            onChange={(event) => {
              handleSubmit(currentValues => this.debounceSubmitProduction({
                ...currentValues,
                hours: event.target.value,
              }))();
            }}
          />


我想将初始值传递给Input组件initialValue="100",但是现在,该值出现在输入中,但我无法对其进行编辑。

这是我的RenderInput组件:

const RenderInput = ({
  input,
  type,
  disabled,
  readOnly,
  placeholder,
  meta: { touched, error },
  onKeyDown,
  innerRef,
  initialValue,
}) => (
  <div>
    <input
      {...input}
      type={type}
      value={initialValue}
      disabled={disabled}
      readOnly={readOnly}
      placeholder={placeholder}
      className={`font-300 ${touched && error && 'has-error'}`}
      onKeyDown={onKeyDown}
      ref={innerRef}
    />
  </div>
);


如何编辑传递给输入的初始值?

最佳答案

问题是您将值设置为等于initialValue,键入时该值不会更改。初始化组件时,您需要在redux存储中设置初始值,然后将value属性设置为等于从存储返回的valueonUpdate将更新商店,然后应更新UI以反映更改。

09-20 00:13