gpt4 book ai didi

javascript - 关闭表单时从 react-hook-form 重置值

转载 作者:行者123 更新时间:2023-12-05 01:54:56 27 4
gpt4 key购买 nike

具有以下组件:

import { yupResolver } from '@hookform/resolvers/yup';
import { useForm } from 'react-hook-form';
import * as yup from 'yup';

import { useToggle } from '../shared/hooks';
import {
SubsectionLayout,
Footer,
Textarea,
Input,
Modal,
Button
} from '../shared/ui-components';

const schema = yup.object().shape({
name: yup.string().required(),
description: yup.string().required()
});

export interface ITask {
name: string;
description: string;
}

export function MainComponent() {
const [isOpened, toggleModal] = useToggle(false);

const { handleSubmit, register, reset } = useForm({
resolver: yupResolver(schema)
});

const onSubmit = (data: ITask) => {
console.log('data: ', data);
toggleModal();
reset(data);
};

return (
<div>
<Button onClick={toggleModal} />
<SubsectionLayout title='test'>
<Modal
title='add element'
open={isOpened}
onClose={toggleModal}
footer={
<Footer onSubmit={handleSubmit(onSubmit)} onCancel={toggleModal} editMode={true} />
}
>
<div>
<Input
inputId='calculation-engine-script-name'
label='name'
{...register('name')}
/>

<Textarea label='description' {...register('description')} />
</div>
</Modal>
</SubsectionLayout>
</div>
);
}
export default MainComponent;

它有一个按钮,单击它会打开一个模式,用户可以在其中写入 namedescription 字段。

单击提交按钮时,它必须记录内容(用于测试目的)并关闭模式。

问题是当我再次打开模式时,之前引入的输入仍然存在。

我在 onSubmit() 中添加了 reset(data) 但似乎还不够。

有什么想法吗?

最佳答案

试试 reset({ name: '', description: '' });

关于javascript - 关闭表单时从 react-hook-form 重置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70441246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com