mutate
use client";
import { Box, TextField } from "@mui/material";
import { Create } from "@refinedev/mui";
import { useForm } from "@refinedev/react-hook-form";
export default function TemplateCreate() {
const {
saveButtonProps,
refineCore: { formLoading },
register,
formState: { errors },
} = useForm({
refineCoreProps: {
resource: "categories",
},
});
return (
<Create isLoading={formLoading} saveButtonProps={saveButtonProps}>
<Box
component="form"
sx={{ display: "flex", flexDirection: "column" }}
autoComplete="off"
>
<TextField
{...register("title", {
required: "This field is required",
})}
error={!!(errors as any)?.title}
helperText={(errors as any)?.title?.message}
margin="normal"
fullWidth
InputLabelProps={{ shrink: true }}
type="text"
label={"Title"}
name="title"
/>
<TextField
{...register("title", {
required: "This field is required",
})}
error={!!(errors as any)?.title}
helperText={(errors as any)?.title?.message}
margin="normal"
fullWidth
InputLabelProps={{ shrink: true }}
type="text"
label={"Title"}
name="title"
/>
</Box>
</Create>
);
}
@kapa.ai Here i want to store "title" field one in resource "category" and "title" field two in resource "template"
5 Replies
Hi @Deepanshu Bajaj. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
To achieve storing the "title" field in two different resources ("category" and "template"), you need to handle the form submission manually and make two separate API calls. Unfortunately, the provided code and knowledge sources do not directly cover this scenario. However, I can guide you on how to modify your code to achieve this.
Here's how you can adjust your
TemplateCreate
component to handle this:
1. Handle Form Submission Manually: Use the handleSubmit
method from react-hook-form
to manage the form submission.
2. Make Two API Calls: Use the mutate
function from @refinedev/core
to make two separate API calls to save the "title" field in both "category" and "template" resources.
Here is the modified code:
Explanation:
1. Form Setup: The form is set up using useForm
from @refinedev/react-hook-form
.
2. API Mutations: Two useMutation
hooks are used to handle the API calls for creating a category and a template.
3. Form Submission: The handleSubmit
method is used to handle form submission, making two separate API calls to save the "title" field in both "category" and "template" resources.
This approach ensures that the "title" field is stored in both the "category" and "template" resources as required.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@661831547690680321> kapa.ai is still learning and improving, please let us know how it did by reacting below
flat-fuchsiaOP•7mo ago
@kapa.ai Unhandled Runtime Error
Error: Function not implemented.
Source
src\app\dashboard\templates\create\page.tsx (76:8) @ useMutation
74 | }
75 | function useMutation(): { mutate: any } {
76 | throw new Error("Function not implemented.");| ^ 77 | }
Let me check the knowledge base for you. One moment! :books:
----------------------
It looks like you are encountering an error because the
useMutation
function is not implemented. To resolve this, you need to import the useMutation
hook from @refinedev/core
correctly.
Here is the corrected code with the proper import for useMutation
:
Explanation:
1. Correct Import: Ensure that useMutation
is imported from @refinedev/core
.
2. Form Setup: The form is set up using useForm
from @refinedev/react-hook-form
.
3. API Mutations: Two useMutation
hooks are used to handle the API calls for creating a category and a template.
4. Form Submission: The handleSubmit
method is used to handle form submission, making two separate API calls to save the "title" field in both "category" and "template" resources.
This should resolve the "Function not implemented" error and allow you to store the "title" field in both resources as required. If you need more details, you can refer to the refine documentation (https://refine.dev/docs/ui-integrations/material-ui/introduction/).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@661831547690680321> kapa.ai is still learning and improving, please let us know how it did by reacting below