方法没有在 formik 反应中的 onChange 事件上被调用
method is not getting called on onChange event in formik react
我必须使用 formik
调用以下方法
const handleChange = async (e:any, values: any) => {
alert(e.target.value);
alert(values);
alert('Method called');
};
下面是 formik
代码。
<Formik initialValues={formInitialSchema}
validationSchema={formValidationSchema}
onSubmit={handleSubmit}>
<Form>
<div className="col-md-4">
<label htmlFor="protoColNo">Protocol No</label>
<Field
id="protoColNo"
className="form-control"
name="protoColNo"
placeholder="Enter the Protocol No"
/>
<p className="text-danger">
<ErrorMessage name="protoColNo" />
</p>
</div>
<div className="col-md-4">
<label htmlFor="activerequests">Active Requests</label>
<select
name="activeRequest"
style={{ display: 'block' }}
onChange= {(e)=>handleChange}>
<option value="No" >No </option>
<option value="Yes" >Yes</option>
<option value="All" selected>All </option>
</select>
<p className="text-danger">
<ErrorMessage name="activerequests" />
</p>
</div>
</div>
</Form>
</Formik>
我有一份 input
和一份 drop down
。一旦用户 change
下拉列表的值,我需要使用 input filed and list
的值调用 handleChange
方法。但是方法没有被调用。我不知道我做错了什么?
你能帮我做同样的事情吗?
onChange= {(e)=>handleChange(e)}> //you forgot to call the handleChange
或
onChange={handleChange}
您需要在 onChange 事件中调用匿名函数。
使用以下代码:
onChange= {(e)=>handleChange(e)}
我必须使用 formik
const handleChange = async (e:any, values: any) => {
alert(e.target.value);
alert(values);
alert('Method called');
};
下面是 formik
代码。
<Formik initialValues={formInitialSchema}
validationSchema={formValidationSchema}
onSubmit={handleSubmit}>
<Form>
<div className="col-md-4">
<label htmlFor="protoColNo">Protocol No</label>
<Field
id="protoColNo"
className="form-control"
name="protoColNo"
placeholder="Enter the Protocol No"
/>
<p className="text-danger">
<ErrorMessage name="protoColNo" />
</p>
</div>
<div className="col-md-4">
<label htmlFor="activerequests">Active Requests</label>
<select
name="activeRequest"
style={{ display: 'block' }}
onChange= {(e)=>handleChange}>
<option value="No" >No </option>
<option value="Yes" >Yes</option>
<option value="All" selected>All </option>
</select>
<p className="text-danger">
<ErrorMessage name="activerequests" />
</p>
</div>
</div>
</Form>
</Formik>
我有一份 input
和一份 drop down
。一旦用户 change
下拉列表的值,我需要使用 input filed and list
的值调用 handleChange
方法。但是方法没有被调用。我不知道我做错了什么?
你能帮我做同样的事情吗?
onChange= {(e)=>handleChange(e)}> //you forgot to call the handleChange
或
onChange={handleChange}
您需要在 onChange 事件中调用匿名函数。
使用以下代码:
onChange= {(e)=>handleChange(e)}