我在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
属性设置为等于从存储返回的value
。 onUpdate
将更新商店,然后应更新UI以反映更改。