Leo*_*ssi 3 javascript typescript reactjs react-hooks react-hook-form
具有以下组件:
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;
Run Code Online (Sandbox Code Playgroud)
它有一个按钮,单击时会打开一个模式,用户可以在其中写入内容name和description字段。
单击提交按钮时,它必须记录内容(用于测试目的)并关闭模式。
问题是,当我再次打开模态时,之前引入的输入仍然存在。
我reset(data)在里面添加了onSubmit(),但似乎还不够。
有任何想法吗?
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |