【发布时间】:2022-01-21 21:31:51
【问题描述】:
这是我的代码:
{
lining.hitprescription ?
<div className="prescription-form">
{
medicine.map((item, index) => {
return <>
<div className="form-items" key={index}>
<label htmlFor="name">Medicine {index + 1}:</label>
<input className="prescription-input"{...formik.getFieldProps("medicine")}></input>
</div>
</>
})
}
<div className="form-items" onClick={addMoreMedicine}>
<label htmlFor="addmore" style={{ color: "blue" }}>Add More <Add></Add></label>
</div>
</div>: null
}
在 react JSX 中,我正在映射输入表单字段,其中医学被初始化为
const [medicine, setmedicine] = useState(["", ""])
我正在使用 formik,其中值被初始化为
const formik = useFormik({
initialValues: {
basicInfo: '',
labTestId: [],
appointmentId: null,
medicine: ""
},
validate: values => {
let errors = {}
if (!values.basicInfo) {
errors.basicInfo = "Required!"
}
return errors
}
})
我遇到的问题是,如果我更改了一个输入字段,那么在更改字段期间,其他输入字段中会显示相同的值,如何解决这个问题?
【问题讨论】:
-
你有多少个输入?我在您的代码中只看到一个输入请指定
-
@AhmedHosny 都指定正确。你可以在 JSX
medicine.map中看到const [medicine, setmedicine] = useState(["", ""])数组有 2 个空字符串。结论:2 个输入