Reactjs 如何在Formik上实现自定义handleChange函数?
在输入元素中,handleChange函数将从onChange事件接收事件对象。如何为以下非输入字段创建自定义handleChange函数Reactjs 如何在Formik上实现自定义handleChange函数?,reactjs,formik,Reactjs,Formik,在输入元素中,handleChange函数将从onChange事件接收事件对象。如何为以下非输入字段创建自定义handleChange函数 import React from 'react'; import { useFormik } from "formik"; const SomeForm = () => { const { handleChange, handleSubmit, values } = useFormik({ initialValues
import React from 'react';
import { useFormik } from "formik";
const SomeForm = () =>
{
const { handleChange, handleSubmit, values } = useFormik({
initialValues: {
type: `company`, name: ``,
},
onSubmit: values => {
console.log(JSON.stringify(values, null, 2));
},
});
return (
<div>
<form onSubmit={ handleSubmit }>
<label>Type</label>
<ul>
<li className={ values.type === `company` && `active` }
onClick={() => handleChange(/* some custom handle change */)} >
Company
</li>
<li className={ values.type === `individual` && `active` }
onClick={() => handleChange(/* some custom handle change */)} >
Individual
</li>
</ul>
<label>Full Name</label>
<input type="text"
name="name"
value={ value.name }
onChange={ handleChange } />
</form>
</div>
)
};
export default SomeForm;
从“React”导入React;
从“formik”导入{useFormik};
常量SomeForm=()=>
{
const{handleChange,handleSubmit,values}=useFormik({
初始值:{
类型:`company`,名称:``,
},
onSubmit:values=>{
log(JSON.stringify(value,null,2));
},
});
返回(
类型
- handleChange(/*一些自定义句柄更改*/)}>
单位
- handleChange(/*一些自定义句柄更改*/)}>
个人
全名
)
};
以某种形式导出默认值;
使用字段组件的渲染道具模式中提供的表单对象的setField('fieldName',value)方法。我想这就是您所追求的。您可以在字段.onChange(e)
之后添加自定义代码
//自定义字段
常量MyTextField=({label,…props})=>{
const[field,meta]=useField(props);
返回(
{
//原始处理程序
字段onChange(e)
//您的自定义代码
log('我可以在这里执行其他操作')
}}
className={meta.error&&'无效'}`}/>
{meta.toucted&&meta.error&&(
{meta.error}
)}
);
};
像这样使用它
<MyTextField name="entry" type="text" />
是否有这样做的示例?这看起来像什么?我很好奇如何定制handleChange
。
<MyTextField name="entry" type="text" />