我有一个使用useForm
钩子的页面,这个页面是一个多步骤的表单,被分离成自己的组件。
就像这样:
export default function create(){
const form = useForm({
name: '',
content: '',
is_published: 0,
some_more_fields_here
});
return (
<div>
<GeneralPageInformation form={form} />
<SeoInformation form={form} />
</div>
)
}
useForm
返回的form对象看起来像这样:
InertiaFormProps<{name: string, content: string, is_published: number, rest of your fields}>
我试着做这样的事
interface IGeneralPageInformation {
form: InertiaFormProps;
}
虽然这确实给予我可以访问form.processting
和form.recentlySuccessful
之类的东西
当尝试使用form.setData('all available keys should show up here))
之类的东西时,name
和content
之类的键不可见
我可以像这样手动声明密钥
interface IGeneralPageInformation {
form: InertiaFormProps<{name: string, content: string, is_published: number, resf of the fields}>
}
但这显然不是一个非常“可扩展”的解决方案,因为每当表单发生更改时,我都必须手动编辑每个表单。
2条答案
按热度按时间vq8itlhq1#
在Vue 3中,
tpgth1q72#
如果你正在使用React,你可以这样做: