Mar*_*in3 6 javascript reactjs formik
有一个基本的 Formik 形式:
<Formik
initialValues={{ email: '', color: 'red', firstName: '' }}
onSubmit={(values, actions) => {
setTimeout(() => {
alert(JSON.stringify(values, null, 2));
actions.setSubmitting(false);
}, 1000);
}}
render={props => (
<form onSubmit={props.handleSubmit}>
<Field type="email" name="email" placeholder="Email" />
<div>other inputs ... </div>
<button type="submit">Submit</button>
</form>
)}
/>
Run Code Online (Sandbox Code Playgroud)
当其中的任何输入发生更改(不是提交,而是更改)时 - 我需要更新<Formik />. “外部”组件应该接收所有表单数据。
有没有什么方法可以做到这一点,而无需为表单的每个单独输入添加单独的更改处理程序?或者解决方案是尝试将“外部”组件插入其中<Formik />?
Dan*_*jay 10
Formik提供values可以用来获取外部值的对象。
const App = () => {
const initialValues = { email: '', color: 'red', firstName: '' }
const [formValues, setformValues] = useState(initialValues);
const getFormData = values => {
// access values here
};
return (
<div>
<h1>Formik take values outside</h1>
<Formik
initialValues={initialValues}
...
>
{props => {
setformValues(props.values); // store values in state 'formValues'
getFormData(props.values); // or use any function to get values like this
return (
<form onSubmit={props.handleSubmit}>
...
Run Code Online (Sandbox Code Playgroud)
此处的codesandbox 中的工作演示
| 归档时间: |
|
| 查看次数: |
5863 次 |
| 最近记录: |